qemu-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-commits] [qemu/qemu] 6bf45d: qcow2: Prevent allocating refcount bl


From: GitHub
Subject: [Qemu-commits] [qemu/qemu] 6bf45d: qcow2: Prevent allocating refcount blocks at offse...
Date: Tue, 14 Nov 2017 10:29:54 -0800

  Branch: refs/heads/master
  Home:   https://github.com/qemu/qemu
  Commit: 6bf45d59f98c898b7d7997a333765c8ee41236ea
      
https://github.com/qemu/qemu/commit/6bf45d59f98c898b7d7997a333765c8ee41236ea
  Author: Alberto Garcia <address@hidden>
  Date:   2017-11-14 (Tue, 14 Nov 2017)

  Changed paths:
    M block/qcow2-refcount.c
    M tests/qemu-iotests/060
    M tests/qemu-iotests/060.out

  Log Message:
  -----------
  qcow2: Prevent allocating refcount blocks at offset 0

Each entry in the qcow2 cache contains an offset field indicating the
location of the data in the qcow2 image. If the offset is 0 then it
means that the entry contains no data and is available to be used when
needed.

Because of that it is not possible to store in the cache the first
cluster of the qcow2 image (offset = 0). This is not a problem because
that cluster always contains the qcow2 header and we're not using this
cache for that.

However, if the qcow2 image is corrupted it can happen that we try to
allocate a new refcount block at offset 0, triggering this assertion
and crashing QEMU:

  qcow2_cache_entry_mark_dirty: Assertion `c->entries[i].offset != 0' failed

This patch adds an explicit check for this scenario and a new test
case.

This problem was originally reported here:

   https://bugs.launchpad.net/qemu/+bug/1728615

Reported-by: R.Nageswara Sastry <address@hidden>
Signed-off-by: Alberto Garcia <address@hidden>
Reviewed-by: Max Reitz <address@hidden>
Message-id: address@hidden
Signed-off-by: Max Reitz <address@hidden>


  Commit: 9883975050deffc147a3903d07ff995ecdc8a100
      
https://github.com/qemu/qemu/commit/9883975050deffc147a3903d07ff995ecdc8a100
  Author: Alberto Garcia <address@hidden>
  Date:   2017-11-14 (Tue, 14 Nov 2017)

  Changed paths:
    M block/qcow2-cluster.c
    M tests/qemu-iotests/060
    M tests/qemu-iotests/060.out

  Log Message:
  -----------
  qcow2: Prevent allocating L2 tables at offset 0

If the refcount data is corrupted then we can end up trying to
allocate a new L2 table at offset 0 in the image, triggering an
assertion in the qcow2 cache that would crash QEMU:

  qcow2_cache_entry_mark_dirty: Assertion `c->entries[i].offset != 0' failed

This patch adds an explicit check for this scenario and a new test
case.

Signed-off-by: Alberto Garcia <address@hidden>
Reviewed-by: Max Reitz <address@hidden>
Message-id: address@hidden
Signed-off-by: Max Reitz <address@hidden>


  Commit: 8aa34834d566ba4e635d6029339a5f4f1ae1685e
      
https://github.com/qemu/qemu/commit/8aa34834d566ba4e635d6029339a5f4f1ae1685e
  Author: Alberto Garcia <address@hidden>
  Date:   2017-11-14 (Tue, 14 Nov 2017)

  Changed paths:
    M block/qcow2-refcount.c
    M tests/qemu-iotests/060
    M tests/qemu-iotests/060.out

  Log Message:
  -----------
  qcow2: Prevent allocating compressed clusters at offset 0

If the refcount data is corrupted then we can end up trying to
allocate a new compressed cluster at offset 0 in the image, triggering
an assertion in qcow2_alloc_bytes() that would crash QEMU:

  qcow2_alloc_bytes: Assertion `offset' failed.

This patch adds an explicit check for this scenario and a new test
case.

Signed-off-by: Alberto Garcia <address@hidden>
Message-id: address@hidden
Reviewed-by: Max Reitz <address@hidden>
Signed-off-by: Max Reitz <address@hidden>


  Commit: 951053a9ec1c47edf4b2549ef58d82aee8a42a7f
      
https://github.com/qemu/qemu/commit/951053a9ec1c47edf4b2549ef58d82aee8a42a7f
  Author: Alberto Garcia <address@hidden>
  Date:   2017-11-14 (Tue, 14 Nov 2017)

  Changed paths:
    M block/qcow2.c
    M tests/qemu-iotests/060
    M tests/qemu-iotests/060.out

  Log Message:
  -----------
  qcow2: Don't open images with header.refcount_table_clusters == 0

qcow2_do_open() is checking that header.refcount_table_clusters is not
too large, but it doesn't check that it's greater than zero. Apart
from the fact that an image like that is obviously corrupted, trying
to use it crashes QEMU since we end up with a null s->refcount_table
after qcow2_refcount_init().

These images can however be repaired, so allow opening them if the
BDRV_O_CHECK flag is set.

Signed-off-by: Alberto Garcia <address@hidden>
Reviewed-by: Max Reitz <address@hidden>
Message-id: address@hidden
Signed-off-by: Max Reitz <address@hidden>


  Commit: 5a45da5ef8f8fa9c10706097b30fc766217a8ebb
      
https://github.com/qemu/qemu/commit/5a45da5ef8f8fa9c10706097b30fc766217a8ebb
  Author: Alberto Garcia <address@hidden>
  Date:   2017-11-14 (Tue, 14 Nov 2017)

  Changed paths:
    M tests/qemu-iotests/060
    M tests/qemu-iotests/060.out

  Log Message:
  -----------
  qcow2: Add iotest for an image with header.refcount_table_offset == 0

This patch adds a simple iotest in which we try to write to an image
with the refcount table offset set to 0.

This scenario was already handled by the existing consistency checks,
but we add an explicit test case for completeness.

Signed-off-by: Alberto Garcia <address@hidden>
Message-id: address@hidden
Reviewed-by: Max Reitz <address@hidden>
Signed-off-by: Max Reitz <address@hidden>


  Commit: ef083f61af65209ab553569903a5396c25e6f2c3
      
https://github.com/qemu/qemu/commit/ef083f61af65209ab553569903a5396c25e6f2c3
  Author: Alberto Garcia <address@hidden>
  Date:   2017-11-14 (Tue, 14 Nov 2017)

  Changed paths:
    M tests/qemu-iotests/060
    M tests/qemu-iotests/060.out

  Log Message:
  -----------
  qcow2: Add iotest for an empty refcount table

This patch adds a simple iotest in which we try to write to an image
with an empty refcount table (i.e. with all entries set to 0).

This scenario was already handled by the existing consistency checks,
but we add an explicit test case for completeness.

Signed-off-by: Alberto Garcia <address@hidden>
Reviewed-by: Max Reitz <address@hidden>
Message-id: address@hidden
Signed-off-by: Max Reitz <address@hidden>


  Commit: c9b83e9c23ecb094ddf987c7c37b8f454cb80615
      
https://github.com/qemu/qemu/commit/c9b83e9c23ecb094ddf987c7c37b8f454cb80615
  Author: Alberto Garcia <address@hidden>
  Date:   2017-11-14 (Tue, 14 Nov 2017)

  Changed paths:
    M block/qcow2.c

  Log Message:
  -----------
  qcow2: Assert that the crypto header does not overlap other metadata

The crypto header is initialized only when QEMU is creating a new
image, so there's no chance of this happening on a corrupted image.

If QEMU is really trying to allocate the header overlapping other
existing metadata sections then this is a serious bug in QEMU itself
so let's add an assertion.

Signed-off-by: Alberto Garcia <address@hidden>
Message-id: address@hidden
Reviewed-by: Daniel P. Berrange <address@hidden>
Signed-off-by: Max Reitz <address@hidden>


  Commit: dca9b6a2b1536415ce366895b840051ac44c244b
      
https://github.com/qemu/qemu/commit/dca9b6a2b1536415ce366895b840051ac44c244b
  Author: Max Reitz <address@hidden>
  Date:   2017-11-14 (Tue, 14 Nov 2017)

  Changed paths:
    M tests/qemu-iotests/030

  Log Message:
  -----------
  iotests: Make 030 less flaky

This patch fixes two race conditions in 030:

1. The first is in TestENOSPC.test_enospc().  After resuming the job,
   querying it to confirm it is no longer paused may fail because in the
   meantime it might have completed already.  The same was fixed in
   TestEIO.test_ignore() already (in commit
   2c3b44da07d341557a8203cc509ea07fe3605e11).

2. The second is in TestSetSpeed.test_set_speed_invalid(): Here, a
   stream job is started on a drive without any break points, with a
   block-job-set-speed invoked subsequently.  However, without any break
   points, the job might have completed in the meantime (on tmpfs at
   least); or it might complete before cancel_and_wait() which expects
   the job to still exist.  This can be fixed like everywhere else by
   pausing the drive (installing break points) before starting the job
   and letting cancel_and_wait() resume it.

Signed-off-by: Max Reitz <address@hidden>
Reviewed-by: Eric Blake <address@hidden>
Reviewed-by: Stefan Hajnoczi <address@hidden>
Message-id: address@hidden
Signed-off-by: Max Reitz <address@hidden>


  Commit: 51c493c5cccdf767f53bc8829fa1a44ce05ffd02
      
https://github.com/qemu/qemu/commit/51c493c5cccdf767f53bc8829fa1a44ce05ffd02
  Author: Max Reitz <address@hidden>
  Date:   2017-11-14 (Tue, 14 Nov 2017)

  Changed paths:
    M tests/qemu-iotests/040

  Log Message:
  -----------
  iotests: Add missing 'blkdebug::' in 040

040 tries to invoke pause_drive() on a drive that does not use blkdebug.
Good idea, but let's use blkdebug to make it actually work.

Signed-off-by: Max Reitz <address@hidden>
Reviewed-by: Eric Blake <address@hidden>
Reviewed-by: Stefan Hajnoczi <address@hidden>
Message-id: address@hidden
Signed-off-by: Max Reitz <address@hidden>


  Commit: bc11aee2acea2944d2cf685bf35956b860df49cd
      
https://github.com/qemu/qemu/commit/bc11aee2acea2944d2cf685bf35956b860df49cd
  Author: Max Reitz <address@hidden>
  Date:   2017-11-14 (Tue, 14 Nov 2017)

  Changed paths:
    M tests/qemu-iotests/055

  Log Message:
  -----------
  iotests: Make 055 less flaky

First of all, test 055 does a valiant job of invoking pause_drive()
sometimes, but that is worth nothing without blkdebug.  So the first
thing to do is to sprinkle a couple of "blkdebug::" in there -- with the
exception of the transaction tests, because the blkdebug break points
make the transaction QMP command hang (which is bad).  In that case, we
can get away with throttling the block job that it effectively is
paused.

Then, 055 usually does not pause the drive before starting a block job
that should be cancelled.  This means that the backup job might be
completed already before block-job-cancel is invoked; thus making the
test either fail (currently) or moot if cancel_and_wait() ignored this
condition.  Fix this by pausing the drive before starting the job.

Signed-off-by: Max Reitz <address@hidden>
Reviewed-by: Eric Blake <address@hidden>
Reviewed-by: Stefan Hajnoczi <address@hidden>
Message-id: address@hidden
Signed-off-by: Max Reitz <address@hidden>


  Commit: ddc7093eec38c875a6a2ae18a9ecf563107d9ff0
      
https://github.com/qemu/qemu/commit/ddc7093eec38c875a6a2ae18a9ecf563107d9ff0
  Author: Max Reitz <address@hidden>
  Date:   2017-11-14 (Tue, 14 Nov 2017)

  Changed paths:
    M tests/qemu-iotests/083

  Log Message:
  -----------
  iotests: Make 083 less flaky

083 has (at least) two issues:

1. By launching the nbd-fault-injector in background, it may not be
   scheduled until the first grep on its output file is executed.
   However, until then, that file may not have been created yet -- so it
   either does not exist yet (thus making the grep emit an error), or it
   does exist but contains stale data (thus making the rest of the test
   case work connect to a wrong address).
   Fix this by explicitly overwriting the output file before executing
   nbd-fault-injector.

2. The nbd-fault-injector prints things other than "Listening on...".
   It also prints a "Closing connection" message from time to time.  We
   currently invoke sed on the whole file in the hope of it only
   containing the "Listening on..." line yet.  That hope is sometimes
   shattered by the brutal reality of race conditions, so make the sed
   script more robust.

Signed-off-by: Max Reitz <address@hidden>
Message-id: address@hidden
Reviewed-by: Eric Blake <address@hidden>
Signed-off-by: Max Reitz <address@hidden>


  Commit: 19026817f71c698d1acb9c85bf5544b799fc5c2c
      
https://github.com/qemu/qemu/commit/19026817f71c698d1acb9c85bf5544b799fc5c2c
  Author: Max Reitz <address@hidden>
  Date:   2017-11-14 (Tue, 14 Nov 2017)

  Changed paths:
    M tests/qemu-iotests/136

  Log Message:
  -----------
  iotests: Make 136 less flaky

136 executes some AIO requests without a final aio_flush; then it
advances the virtual clock and thus expects the last access time of the
device to be less than the current time when queried (i.e. idle_time_ns
to be greater than 0).  However, without the aio_flush, some requests
may be settled after the clock_step invocation.  In that case,
idle_time_ns would be 0 and the test fails.

Fix this by adding an aio_flush if any AIO request other than some other
aio_flush has been executed.

Signed-off-by: Max Reitz <address@hidden>
Reviewed-by: Eric Blake <address@hidden>
Reviewed-by: Stefan Hajnoczi <address@hidden>
Message-id: address@hidden
Signed-off-by: Max Reitz <address@hidden>


  Commit: 147b44be492da9620d0b7c455b4d344085322401
      
https://github.com/qemu/qemu/commit/147b44be492da9620d0b7c455b4d344085322401
  Author: Eric Blake <address@hidden>
  Date:   2017-11-14 (Tue, 14 Nov 2017)

  Changed paths:
    M tests/qemu-iotests/common.rc

  Log Message:
  -----------
  iotests: Use new-style NBD connections

Old-style NBD is deprecated upstream (it is documented, but no
longer implemented in the reference implementation), and it is
severely limited (it cannot support structured replies, which
means it cannot support efficient handling of zeroes), when
compared to new-style NBD.  We are better off having our iotests
favor new-style everywhere (although some explicit tests,
particularly 83, still cover old-style for back-compat reasons);
this is as simple as supplying the empty string as the default
export name, as it does not change the URI needed to connect a
client to the server.  This also gives us more coverage of the
just-added structured reply code, when not overriding $QEMU_NBD
to intentionally point to an older server.

Signed-off-by: Eric Blake <address@hidden>
Message-id: address@hidden
Signed-off-by: Max Reitz <address@hidden>


  Commit: bcb5270c75a0102d6e95b06a7387bcecb7c410b3
      
https://github.com/qemu/qemu/commit/bcb5270c75a0102d6e95b06a7387bcecb7c410b3
  Author: Alberto Garcia <address@hidden>
  Date:   2017-11-14 (Tue, 14 Nov 2017)

  Changed paths:
    M tests/qemu-iotests/060
    M tests/qemu-iotests/060.out

  Log Message:
  -----------
  qcow2: Check that corrupted images can be repaired in iotest 060

We just fixed a few bugs that caused QEMU to crash when trying to
write to corrupted qcow2 images, and iotest 060 was expanded to test
all those scenarios.

In almost all cases the corrupted images can be repaired using
qemu-img, so this patch verifies that.

Signed-off-by: Alberto Garcia <address@hidden>
Message-id: address@hidden
Reviewed-by: Eric Blake <address@hidden>
Signed-off-by: Max Reitz <address@hidden>


  Commit: 04dec3c3ae5c4a4f1fcb684fa264ba166bdb6610
      
https://github.com/qemu/qemu/commit/04dec3c3ae5c4a4f1fcb684fa264ba166bdb6610
  Author: Vladimir Sementsov-Ogievskiy <address@hidden>
  Date:   2017-11-14 (Tue, 14 Nov 2017)

  Changed paths:
    M block/snapshot.c

  Log Message:
  -----------
  block/snapshot: dirty all dirty bitmaps on snapshot-switch

Snapshot-switch actually changes active state of disk so it should
reflect on dirty bitmaps. Otherwise next incremental backup using
these bitmaps will be invalid.

Signed-off-by: Vladimir Sementsov-Ogievskiy <address@hidden>
Message-id: address@hidden
Reviewed-by: Eric Blake <address@hidden>
Reviewed-by: John Snow <address@hidden>
Signed-off-by: Max Reitz <address@hidden>


  Commit: d04c1555031196a51ea79a29b97a61450c02a1fb
      
https://github.com/qemu/qemu/commit/d04c1555031196a51ea79a29b97a61450c02a1fb
  Author: Fam Zheng <address@hidden>
  Date:   2017-11-14 (Tue, 14 Nov 2017)

  Changed paths:
    M tests/qemu-iotests/077
    M tests/qemu-iotests/077.out

  Log Message:
  -----------
  iotests: 077: Filter out 'resume' lines

In the "Overlapping multiple requests" cases, the 3rd reqs (the break
point B) doesn't wait for the 2nd, and once resumed the I/O will just
continue.  This is because the 2nd is already waiting for the 1st, and
in wait_serialising_requests() there is:

    /* If the request is already (indirectly) waiting for us, or
     * will wait for us as soon as it wakes up, then just go on
     * (instead of producing a deadlock in the former case). */
    if (!req->waiting_for) {
  /* actually break */
  ...
    }

Consequently, the following "sleep 100; resume A" command races with the
completion of that request, and sometimes results in an unexpected
order of output:

> @@ -56,9 +56,9 @@
>  wrote XXX/XXX bytes at offset XXX
>  XXX bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
>  blkdebug: Resuming request 'B'
> +blkdebug: Resuming request 'A'
>  wrote XXX/XXX bytes at offset XXX
>  XXX bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
> -blkdebug: Resuming request 'A'
>  wrote XXX/XXX bytes at offset XXX
>  XXX bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
>  wrote XXX/XXX bytes at offset XXX

Filter out the "Resuming request" lines to make the output
deterministic.

Reported-by: Patchew <address@hidden>
Signed-off-by: Fam Zheng <address@hidden>
Message-id: address@hidden
Reviewed-by: Eric Blake <address@hidden>
Signed-off-by: Max Reitz <address@hidden>


  Commit: 7479bf07c452cc5a3ace46f8e33fd60b25d12234
      
https://github.com/qemu/qemu/commit/7479bf07c452cc5a3ace46f8e33fd60b25d12234
  Author: Jeff Cody <address@hidden>
  Date:   2017-11-14 (Tue, 14 Nov 2017)

  Changed paths:
    M block/vhdx.c

  Log Message:
  -----------
  block/vhdx.c: Don't blindly update the header

The VHDX specification requires that before user data modification of
the vhdx image, the VHDX header file and data GUIDs need to be updated.
In vhdx_open(), if the image is set to RDWR, we go ahead and update the
header.

However, just because the image is set to RDWR does not mean we can go
ahead and write at this point - specifically, if the QEMU run state is
INMIGRATE, the underlying file BS may be set to inactive via the BDS
open flag of BDRV_O_INACTIVE.  Attempting to write under this condition
will cause an assert in bdrv_co_pwritev().

We can alternatively latch the first time the image is written.  And lo
and behold, we do just that, via vhdx_user_visible_write() in
vhdx_co_writev().  This means the call to vhdx_update_headers() in
vhdx_open() is likely just vestigial, and can be removed.

Reported-by: Alexey Kardashevskiy <address@hidden>
Tested-by: Alexey Kardashevskiy <address@hidden>
Signed-off-by: Jeff Cody <address@hidden>
Message-id: address@hidden
Reviewed-by: Stefan Hajnoczi <address@hidden>
Reviewed-by: Denis V. Lunev <address@hidden>
Signed-off-by: Max Reitz <address@hidden>


  Commit: 6c7d390b993c4bbadd51ceeb41f7d2fdd68cb4fd
      
https://github.com/qemu/qemu/commit/6c7d390b993c4bbadd51ceeb41f7d2fdd68cb4fd
  Author: Jeff Cody <address@hidden>
  Date:   2017-11-14 (Tue, 14 Nov 2017)

  Changed paths:
    M block/parallels.c

  Log Message:
  -----------
  block/parallels: Do not update header or truncate image when INMIGRATE

If we write or modify the image file while the QEMU run state is
INMIGRATE, then the BDRV_O_INACTIVE BDS flag is set.  This will cause
an assert, since the image is marked inactive.  Make sure we obey this
flag.

Tested-by: Alexey Kardashevskiy <address@hidden>
Signed-off-by: Jeff Cody <address@hidden>
Message-id: address@hidden
Reviewed-by: Stefan Hajnoczi <address@hidden>
Reviewed-by: Denis V. Lunev <address@hidden>
Signed-off-by: Max Reitz <address@hidden>


  Commit: 1d0f37cf210ae224b98c612981e4df83120b2f0b
      
https://github.com/qemu/qemu/commit/1d0f37cf210ae224b98c612981e4df83120b2f0b
  Author: Jeff Cody <address@hidden>
  Date:   2017-11-14 (Tue, 14 Nov 2017)

  Changed paths:
    M block/parallels.c

  Log Message:
  -----------
  block/parallels: add migration blocker

Migration does not work for parallels, and has been broken for a while
(see patch 'block/parallels: Do not update header or truncate image when
 INMIGRATE').  The bdrv_invalidate_cache() method needs to be added for
migration to be supported.  Until this is done, prohibit migration.

Signed-off-by: Jeff Cody <address@hidden>
Reviewed-by: Fam Zheng <address@hidden>
Message-id: address@hidden
Reviewed-by: Stefan Hajnoczi <address@hidden>
Reviewed-by: Denis V. Lunev <address@hidden>
Signed-off-by: Max Reitz <address@hidden>


  Commit: 8b2d7c364d9a2491f7501f6688cd722045cf808a
      
https://github.com/qemu/qemu/commit/8b2d7c364d9a2491f7501f6688cd722045cf808a
  Author: Jeff Cody <address@hidden>
  Date:   2017-11-14 (Tue, 14 Nov 2017)

  Changed paths:
    M tests/qemu-iotests/194

  Log Message:
  -----------
  qemu-iotests: update unsupported image formats in 194

Test 194 checks for 'luks' to exclude as an unsupported format,
However, most formats are unsupported, due to migration blockers.

Rather than specifying a blacklist of unsupported formats, whitelist
supported formats (specifically, qcow2, qed, raw, dmg).

Tested-by: Alexey Kardashevskiy <address@hidden>
Signed-off-by: Jeff Cody <address@hidden>
Message-id: address@hidden
Reviewed-by: Stefan Hajnoczi <address@hidden>
Reviewed-by: Denis V. Lunev <address@hidden>
Signed-off-by: Max Reitz <address@hidden>


  Commit: 03d1cbe320211ee60588843abad92f30de1d5ffe
      
https://github.com/qemu/qemu/commit/03d1cbe320211ee60588843abad92f30de1d5ffe
  Author: Peter Maydell <address@hidden>
  Date:   2017-11-14 (Tue, 14 Nov 2017)

  Changed paths:
    M block/parallels.c
    M block/qcow2-cluster.c
    M block/qcow2-refcount.c
    M block/qcow2.c
    M block/snapshot.c
    M block/vhdx.c
    M tests/qemu-iotests/030
    M tests/qemu-iotests/040
    M tests/qemu-iotests/055
    M tests/qemu-iotests/060
    M tests/qemu-iotests/060.out
    M tests/qemu-iotests/077
    M tests/qemu-iotests/077.out
    M tests/qemu-iotests/083
    M tests/qemu-iotests/136
    M tests/qemu-iotests/194
    M tests/qemu-iotests/common.rc

  Log Message:
  -----------
  Merge remote-tracking branch 'remotes/maxreitz/tags/pull-block-2017-11-14' 
into staging

Block patches for 2.11.0-rc1

# gpg: Signature made Tue 14 Nov 2017 17:22:17 GMT
# gpg:                using RSA key 0xF407DB0061D5CF40
# gpg: Good signature from "Max Reitz <address@hidden>"
# Primary key fingerprint: 91BE B60A 30DB 3E88 57D1  1829 F407 DB00 61D5 CF40

* remotes/maxreitz/tags/pull-block-2017-11-14:
  qemu-iotests: update unsupported image formats in 194
  block/parallels: add migration blocker
  block/parallels: Do not update header or truncate image when INMIGRATE
  block/vhdx.c: Don't blindly update the header
  iotests: 077: Filter out 'resume' lines
  block/snapshot: dirty all dirty bitmaps on snapshot-switch
  qcow2: Check that corrupted images can be repaired in iotest 060
  iotests: Use new-style NBD connections
  iotests: Make 136 less flaky
  iotests: Make 083 less flaky
  iotests: Make 055 less flaky
  iotests: Add missing 'blkdebug::' in 040
  iotests: Make 030 less flaky
  qcow2: Assert that the crypto header does not overlap other metadata
  qcow2: Add iotest for an empty refcount table
  qcow2: Add iotest for an image with header.refcount_table_offset == 0
  qcow2: Don't open images with header.refcount_table_clusters == 0
  qcow2: Prevent allocating compressed clusters at offset 0
  qcow2: Prevent allocating L2 tables at offset 0
  qcow2: Prevent allocating refcount blocks at offset 0

Signed-off-by: Peter Maydell <address@hidden>


Compare: https://github.com/qemu/qemu/compare/29af6de2afce...03d1cbe32021

reply via email to

[Prev in Thread] Current Thread [Next in Thread]