qemu-commits
[Top][All Lists]
Advanced

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

[Qemu-commits] [qemu/qemu] 4be6a6: block: Poll after drain on attaching


From: GitHub
Subject: [Qemu-commits] [qemu/qemu] 4be6a6: block: Poll after drain on attaching a node
Date: Tue, 10 Jul 2018 10:19:27 -0700

  Branch: refs/heads/master
  Home:   https://github.com/qemu/qemu
  Commit: 4be6a6d118123340f16fb8b3bf45220d0f8ed6d4
      
https://github.com/qemu/qemu/commit/4be6a6d118123340f16fb8b3bf45220d0f8ed6d4
  Author: Kevin Wolf <address@hidden>
  Date:   2018-07-10 (Tue, 10 Jul 2018)

  Changed paths:
    M block.c
    M block/io.c
    M include/block/block.h
    M include/block/block_int.h

  Log Message:
  -----------
  block: Poll after drain on attaching a node

Commit dcf94a23b1 ('block: Don't poll in parent drain callbacks')
removed polling in bdrv_child_cb_drained_begin() on the grounds that the
original bdrv_drain() already will poll and BdrvChildRole.drained_begin
calls must not cause graph changes (and therefore must not call
aio_poll() or the recursion through the graph will break.

This reasoning is correct for calls through bdrv_do_drained_begin().
However, BdrvChildRole.drained_begin is also called when a node that is
already in a drained section (i.e. bdrv_do_drained_begin() has already
returned and therefore can't poll any more) is attached to a new parent.
In this case, we must explicitly poll to have all requests completed
before the drained new child can be attached to the parent.

In bdrv_replace_child_noperm(), we know that we're not inside the
recursion of bdrv_do_drained_begin() because graph changes are not
allowed there, and bdrv_replace_child_noperm() is a graph change. The
call of BdrvChildRole.drained_begin() must therefore be followed by a
BDRV_POLL_WHILE() that waits for the completion of requests.

Reported-by: Max Reitz <address@hidden>
Signed-off-by: Kevin Wolf <address@hidden>


  Commit: b994c5bc515fe611885113e7cfa7e87817bfd4e2
      
https://github.com/qemu/qemu/commit/b994c5bc515fe611885113e7cfa7e87817bfd4e2
  Author: Kevin Wolf <address@hidden>
  Date:   2018-07-10 (Tue, 10 Jul 2018)

  Changed paths:
    M tests/test-bdrv-drain.c

  Log Message:
  -----------
  test-bdrv-drain: Test bdrv_append() to drained node

Signed-off-by: Kevin Wolf <address@hidden>


  Commit: b0ddcbbb36a66a605eb232b905cb49b1cc72e74e
      
https://github.com/qemu/qemu/commit/b0ddcbbb36a66a605eb232b905cb49b1cc72e74e
  Author: Kevin Wolf <address@hidden>
  Date:   2018-07-10 (Tue, 10 Jul 2018)

  Changed paths:
    M block/io.c
    M tests/qemu-iotests/197
    M tests/qemu-iotests/197.out

  Log Message:
  -----------
  block: Fix copy-on-read crash with partial final cluster

If the virtual disk size isn't aligned to full clusters,
bdrv_co_do_copy_on_readv() may get pnum == 0 before having the full
cluster completed, which will let it run into an assertion failure:

qemu-io: block/io.c:1203: bdrv_co_do_copy_on_readv: Assertion `skip_bytes < 
pnum' failed.

Check for EOF, assert that we read at least as much as the read request
originally wanted to have (which is true at EOF because otherwise
bdrv_check_byte_request() would already have returned an error) and
return success early even though we couldn't copy the full cluster.

Signed-off-by: Kevin Wolf <address@hidden>


  Commit: e79c4cd1909c05a2cab6517a9c00445bd2d880a6
      
https://github.com/qemu/qemu/commit/e79c4cd1909c05a2cab6517a9c00445bd2d880a6
  Author: Fam Zheng <address@hidden>
  Date:   2018-07-10 (Tue, 10 Jul 2018)

  Changed paths:
    M tests/qemu-iotests/222

  Log Message:
  -----------
  iotests: 222: Don't run with luks

Luks needs special parameters to operate the image. Since this test is
focusing on image fleecing, skip skip that format.

Signed-off-by: Fam Zheng <address@hidden>
Signed-off-by: Kevin Wolf <address@hidden>


  Commit: 999658a05e61a8d87b65827da665302bb44ce8c9
      
https://github.com/qemu/qemu/commit/999658a05e61a8d87b65827da665302bb44ce8c9
  Author: Vladimir Sementsov-Ogievskiy <address@hidden>
  Date:   2018-07-10 (Tue, 10 Jul 2018)

  Changed paths:
    M block/io.c
    M include/block/block.h

  Log Message:
  -----------
  block/io: fix copy_range

Here two things are fixed:

1. Architecture

On each recursion step, we go to the child of src or dst, only for one
of them. So, it's wrong to create tracked requests for both on each
step. It leads to tracked requests duplication.

2. Wait for serializing requests on write path independently of
   BDRV_REQ_NO_SERIALISING

Before commit 9ded4a01149 "backup: Use copy offloading",
BDRV_REQ_NO_SERIALISING was used for only one case: read in
copy-on-write operation during backup. Also, the flag was handled only
on read path (in bdrv_co_preadv and bdrv_aligned_preadv).

After 9ded4a01149, flag is used for not waiting serializing operations
on backup target (in same case of copy-on-write operation). This
behavior change is unsubstantiated and potentially dangerous, let's
drop it and add additional asserts and documentation.

Signed-off-by: Vladimir Sementsov-Ogievskiy <address@hidden>
Reviewed-by: Fam Zheng <address@hidden>
Signed-off-by: Kevin Wolf <address@hidden>


  Commit: 67b51fb998c697afb5d744066fcbde53e04fe941
      
https://github.com/qemu/qemu/commit/67b51fb998c697afb5d744066fcbde53e04fe941
  Author: Vladimir Sementsov-Ogievskiy <address@hidden>
  Date:   2018-07-10 (Tue, 10 Jul 2018)

  Changed paths:
    M block/backup.c
    M block/block-backend.c
    M block/file-posix.c
    M block/io.c
    M block/iscsi.c
    M block/qcow2.c
    M block/raw-format.c
    M include/block/block.h
    M include/block/block_int.h
    M include/sysemu/block-backend.h
    M qemu-img.c

  Log Message:
  -----------
  block: split flags in copy_range

Pass read flags and write flags separately. This is needed to handle
coming BDRV_REQ_NO_SERIALISING clearly in following patches.

Signed-off-by: Vladimir Sementsov-Ogievskiy <address@hidden>
Reviewed-by: Fam Zheng <address@hidden>
Signed-off-by: Kevin Wolf <address@hidden>


  Commit: 09d2f948462f4979d18f573a0734d1daae8e67a9
      
https://github.com/qemu/qemu/commit/09d2f948462f4979d18f573a0734d1daae8e67a9
  Author: Vladimir Sementsov-Ogievskiy <address@hidden>
  Date:   2018-07-10 (Tue, 10 Jul 2018)

  Changed paths:
    M block/io.c
    M include/block/block.h

  Log Message:
  -----------
  block: add BDRV_REQ_SERIALISING flag

Serialized writes should be used in copy-on-write of backup(sync=none)
for image fleecing scheme.

We need to change an assert in bdrv_aligned_pwritev, added in
28de2dcd88de. The assert may fail now, because call to
wait_serialising_requests here may become first call to it for this
request with serializing flag set. It occurs if the request is aligned
(otherwise, we should already set serializing flag before calling
bdrv_aligned_pwritev and correspondingly waited for all intersecting
requests). However, for aligned requests, we should not care about
outdating of previously read data, as there no such data. Therefore,
let's just update an assert to not care about aligned requests.

Signed-off-by: Vladimir Sementsov-Ogievskiy <address@hidden>
Reviewed-by: Fam Zheng <address@hidden>
Signed-off-by: Kevin Wolf <address@hidden>


  Commit: f8d59dfb40bbc6f5aeea57c8aac1e68c1d2454ee
      
https://github.com/qemu/qemu/commit/f8d59dfb40bbc6f5aeea57c8aac1e68c1d2454ee
  Author: Vladimir Sementsov-Ogievskiy <address@hidden>
  Date:   2018-07-10 (Tue, 10 Jul 2018)

  Changed paths:
    M block/backup.c

  Log Message:
  -----------
  block/backup: fix fleecing scheme: use serialized writes

Fleecing scheme works as follows: we want a kind of temporary snapshot
of active drive A. We create temporary image B, with B->backing = A.
Then we start backup(sync=none) from A to B. From this point, B reads
as point-in-time snapshot of A (A continues to be active drive,
accepting guest IO).

This scheme needs some additional synchronization between reads from B
and backup COW operations, otherwise, the following situation is
theoretically possible:

(assume B is qcow2, client is NBD client, reading from B)

1. client starts reading and take qcow2 mutex in qcow2_co_preadv, and
   goes up to l2 table loading (assume cache miss)

2) guest write => backup COW => qcow2 write =>
   try to take qcow2 mutex => waiting

3. l2 table loaded, we see that cluster is UNALLOCATED, go to
   "case QCOW2_CLUSTER_UNALLOCATED" and unlock mutex before
   bdrv_co_preadv(bs->backing, ...)

4) aha, mutex unlocked, backup COW continues, and we finally finish
   guest write and change cluster in our active disk A

5. actually, do bdrv_co_preadv(bs->backing, ...) and read
   _new updated_ data.

To avoid this, let's make backup writes serializing, to not intersect
with reads from B.

Note: we expand range of handled cases from (sync=none and
B->backing = A) to just (A in backing chain of B), to finally allow
safe reading from B during backup for all cases when A in backing chain
of B, i.e. B formally looks like point-in-time snapshot of A.

Signed-off-by: Vladimir Sementsov-Ogievskiy <address@hidden>
Reviewed-by: Fam Zheng <address@hidden>
Signed-off-by: Kevin Wolf <address@hidden>


  Commit: 7769eaa57859362a655b3d3a78d20df7774f16cf
      
https://github.com/qemu/qemu/commit/7769eaa57859362a655b3d3a78d20df7774f16cf
  Author: Ari Sundholm <address@hidden>
  Date:   2018-07-10 (Tue, 10 Jul 2018)

  Changed paths:
    M qapi/block-core.json

  Log Message:
  -----------
  qapi/block-core.json: Add missing documentation for blklogwrites log-append 
option

This was accidentally omitted. Thanks to Eric Blake for spotting this.

Signed-off-by: Ari Sundholm <address@hidden>
Reviewed-by: Eric Blake <address@hidden>
Signed-off-by: Kevin Wolf <address@hidden>


  Commit: ba814c82bbf0daf053c52dcdf0eb97b1f6ab0970
      
https://github.com/qemu/qemu/commit/ba814c82bbf0daf053c52dcdf0eb97b1f6ab0970
  Author: Ari Sundholm <address@hidden>
  Date:   2018-07-10 (Tue, 10 Jul 2018)

  Changed paths:
    M block/blklogwrites.c

  Log Message:
  -----------
  block/blklogwrites: Make sure the log sector size is not too small

The sector size needs to be large enough to accommodate the data
structures for the log super block and log write entries. This was
previously not properly checked, which made it possible to cause
QEMU to badly misbehave.

Signed-off-by: Ari Sundholm <address@hidden>
Signed-off-by: Kevin Wolf <address@hidden>


  Commit: 19a49c5637a3d7c2c61ba9d1149a4f6ee419988a
      
https://github.com/qemu/qemu/commit/19a49c5637a3d7c2c61ba9d1149a4f6ee419988a
  Author: Cornelia Huck <address@hidden>
  Date:   2018-07-10 (Tue, 10 Jul 2018)

  Changed paths:
    M blockdev.c

  Log Message:
  -----------
  Revert "block: Remove dead deprecation warning code"

This reverts commit 6266e900b8083945cb766b45c124fb3c42932cb3.

Some deprecated -drive options were still in use by libvirt, only
fixed with libvirt commit b340c6c614 ("qemu: format serial and geometry
on frontend disk device"), which is not yet in any released version
of libvirt.

So let's hold off removing the deprecated options for one more QEMU
release.

Reported-by: Christian Borntraeger <address@hidden>
Signed-off-by: Cornelia Huck <address@hidden>
Signed-off-by: Kevin Wolf <address@hidden>


  Commit: 44e8b4689c6e3aba4df08a1201f02ac7bf3d2fdb
      
https://github.com/qemu/qemu/commit/44e8b4689c6e3aba4df08a1201f02ac7bf3d2fdb
  Author: Cornelia Huck <address@hidden>
  Date:   2018-07-10 (Tue, 10 Jul 2018)

  Changed paths:
    M block/block-backend.c
    M blockdev.c
    M hw/block/block.c
    M hw/block/nvme.c
    M hw/block/virtio-blk.c
    M hw/ide/qdev.c
    M hw/scsi/scsi-disk.c
    M hw/usb/dev-storage.c
    M include/hw/block/block.h
    M include/sysemu/blockdev.h
    M qemu-doc.texi
    M qemu-options.hx
    M tests/ahci-test.c
    M tests/ide-test.c

  Log Message:
  -----------
  Revert "block: Remove deprecated -drive option serial"

This reverts commit b0083267444a5e0f28391f6c2831a539f878d424.

Hold off removing this for one more QEMU release (current libvirt
release still uses it.)

Signed-off-by: Cornelia Huck <address@hidden>
Signed-off-by: Kevin Wolf <address@hidden>


  Commit: 75f4cd297922e1ac352625badf548d4a1bb96089
      
https://github.com/qemu/qemu/commit/75f4cd297922e1ac352625badf548d4a1bb96089
  Author: Cornelia Huck <address@hidden>
  Date:   2018-07-10 (Tue, 10 Jul 2018)

  Changed paths:
    M blockdev.c
    M device-hotplug.c
    M include/sysemu/blockdev.h
    M qemu-doc.texi
    M qemu-options.hx

  Log Message:
  -----------
  Revert "block: Remove deprecated -drive option addr"

This reverts commit eae3bd1eb7c6b105d30ec06008b3bc3dfc5f45bb.

Reverted to avoid conflicts for geometry options revert.

Signed-off-by: Cornelia Huck <address@hidden>
Signed-off-by: Kevin Wolf <address@hidden>


  Commit: 6703db131f832d6af58fa629be11c5efa5a6adb8
      
https://github.com/qemu/qemu/commit/6703db131f832d6af58fa629be11c5efa5a6adb8
  Author: Cornelia Huck <address@hidden>
  Date:   2018-07-10 (Tue, 10 Jul 2018)

  Changed paths:
    M blockdev.c
    M hmp-commands.hx
    M hw/block/block.c
    M include/sysemu/blockdev.h
    M qemu-doc.texi
    M qemu-options.hx
    M tests/hd-geo-test.c

  Log Message:
  -----------
  Revert "block: Remove deprecated -drive geometry options"

This reverts commit a7aff6dd10b16b67e8b142d0c94c5d92c3fe88f6.

Hold off removing this for one more QEMU release (current libvirt
release still uses it.)

Signed-off-by: Cornelia Huck <address@hidden>
Signed-off-by: Kevin Wolf <address@hidden>


  Commit: f8a30874ca4dd6560b5827433f07877e60960946
      
https://github.com/qemu/qemu/commit/f8a30874ca4dd6560b5827433f07877e60960946
  Author: Fam Zheng <address@hidden>
  Date:   2018-07-10 (Tue, 10 Jul 2018)

  Changed paths:
    M block/file-posix.c
    M block/file-win32.c
    M block/trace-events

  Log Message:
  -----------
  block: Prefix file driver trace points with "file_"

With in one module, trace points usually have a common prefix named
after the module name. paio_submit and paio_submit_co are the only two
trace points so far in the two file protocol drivers. As we are adding
more, having a common prefix here is better so that trace points can be
enabled with a glob. Rename them.

Suggested-by: Kevin Wolf <address@hidden>
Signed-off-by: Fam Zheng <address@hidden>
Signed-off-by: Kevin Wolf <address@hidden>


  Commit: ecc983a507bec9d3130434702d7031bfd372ba74
      
https://github.com/qemu/qemu/commit/ecc983a507bec9d3130434702d7031bfd372ba74
  Author: Fam Zheng <address@hidden>
  Date:   2018-07-10 (Tue, 10 Jul 2018)

  Changed paths:
    M block/file-posix.c
    M block/io.c
    M block/iscsi.c
    M block/trace-events

  Log Message:
  -----------
  block: Add copy offloading trace points

A few trace points that can help reveal what is happening in a copy
offloading I/O path.

Signed-off-by: Fam Zheng <address@hidden>
Signed-off-by: Kevin Wolf <address@hidden>


  Commit: 0b9fd3f467dc5ac041fa014cd28c949b25b87d25
      
https://github.com/qemu/qemu/commit/0b9fd3f467dc5ac041fa014cd28c949b25b87d25
  Author: Fam Zheng <address@hidden>
  Date:   2018-07-10 (Tue, 10 Jul 2018)

  Changed paths:
    M block/blkdebug.c
    M block/blklogwrites.c
    M block/blkreplay.c
    M block/block-backend.c
    M block/copy-on-read.c
    M block/io.c
    M block/mirror.c
    M block/qcow2-refcount.c
    M block/raw-format.c
    M block/throttle.c
    M include/block/block.h

  Log Message:
  -----------
  block: Use BdrvChild to discard

Other I/O functions are already using a BdrvChild pointer in the API, so
make discard do the same. It makes it possible to initiate the same
permission checks before doing I/O, and much easier to share the
helper functions for this, which will be added and used by write,
truncate and copy range paths.

Signed-off-by: Fam Zheng <address@hidden>
Signed-off-by: Kevin Wolf <address@hidden>


  Commit: 22931a15336e8b7726965c699981fd108620014b
      
https://github.com/qemu/qemu/commit/22931a15336e8b7726965c699981fd108620014b
  Author: Fam Zheng <address@hidden>
  Date:   2018-07-10 (Tue, 10 Jul 2018)

  Changed paths:
    M block/io.c
    M include/block/block_int.h

  Log Message:
  -----------
  block: Use uint64_t for BdrvTrackedRequest byte fields

This matches the types used for bytes in the rest parts of block layer.
In the case of bdrv_co_truncate, new_bytes can be the image size which
probably doesn't fit in a 32 bit int.

Signed-off-by: Fam Zheng <address@hidden>
Signed-off-by: Kevin Wolf <address@hidden>


  Commit: 85fe24796ddf70f2b6a5045952826aedffa55ca2
      
https://github.com/qemu/qemu/commit/85fe24796ddf70f2b6a5045952826aedffa55ca2
  Author: Fam Zheng <address@hidden>
  Date:   2018-07-10 (Tue, 10 Jul 2018)

  Changed paths:
    M block/io.c

  Log Message:
  -----------
  block: Extract common write req handling

As a mechanical refactoring patch, this is the first step towards
unified and more correct write code paths. This is helpful because
multiple BlockDriverState fields need to be updated after modifying
image data, and it's hard to maintain in multiple places such as copy
offload, discard and truncate.

Suggested-by: Kevin Wolf <address@hidden>
Signed-off-by: Fam Zheng <address@hidden>
Signed-off-by: Kevin Wolf <address@hidden>


  Commit: 7f8f03ef6d5c82fee1c22be06fc9de4a16ad7059
      
https://github.com/qemu/qemu/commit/7f8f03ef6d5c82fee1c22be06fc9de4a16ad7059
  Author: Fam Zheng <address@hidden>
  Date:   2018-07-10 (Tue, 10 Jul 2018)

  Changed paths:
    M block/io.c

  Log Message:
  -----------
  block: Fix handling of image enlarging write

Two problems exist when a write request that enlarges the image (i.e.
write beyond EOF) finishes:

1) parent is not notified about size change;
2) dirty bitmap is not resized although we try to set the dirty bits;

Fix them just like how bdrv_co_truncate works.

Reported-by: Kevin Wolf <address@hidden>
Signed-off-by: Fam Zheng <address@hidden>
Signed-off-by: Kevin Wolf <address@hidden>


  Commit: 00695c27a00a4b3333604aeac50c43269cc151a3
      
https://github.com/qemu/qemu/commit/00695c27a00a4b3333604aeac50c43269cc151a3
  Author: Fam Zheng <address@hidden>
  Date:   2018-07-10 (Tue, 10 Jul 2018)

  Changed paths:
    M block/io.c

  Log Message:
  -----------
  block: Use common req handling for discard

Reuse the new bdrv_co_write_req_prepare/finish helpers. The variation
here is that discard requests don't affect bs->wr_highest_offset, and it
cannot extend the image.

Signed-off-by: Fam Zheng <address@hidden>
Signed-off-by: Kevin Wolf <address@hidden>


  Commit: 0eb1e891126f0cde52e88384696ad67076bdc341
      
https://github.com/qemu/qemu/commit/0eb1e891126f0cde52e88384696ad67076bdc341
  Author: Fam Zheng <address@hidden>
  Date:   2018-07-10 (Tue, 10 Jul 2018)

  Changed paths:
    M block/io.c

  Log Message:
  -----------
  block: Use common req handling in copy offloading

This brings the request handling logic inline with write and discard,
fixing write_gen, resize_cb, dirty bitmaps and image size refreshing.
The last of these issues broke iotest case 222, which is now fixed.

Signed-off-by: Fam Zheng <address@hidden>
Signed-off-by: Kevin Wolf <address@hidden>


  Commit: 5416a11eb55d46c376dde97c429b89e9b4e1a94f
      
https://github.com/qemu/qemu/commit/5416a11eb55d46c376dde97c429b89e9b4e1a94f
  Author: Fam Zheng <address@hidden>
  Date:   2018-07-10 (Tue, 10 Jul 2018)

  Changed paths:
    M block/io.c

  Log Message:
  -----------
  block: Fix bdrv_co_truncate overlap check

If we are growing the image and potentially using preallocation for the
new area, we need to make sure that no write requests are made to the
"preallocated" area which is address@hidden, @offset), not
address@hidden, offset * 2 - @old_size).

Signed-off-by: Fam Zheng <address@hidden>
Reviewed-by: Eric Blake <address@hidden>
Signed-off-by: Kevin Wolf <address@hidden>


  Commit: cd47d792d7a27a57f4b621e2ff1ed8f4e83de1e9
      
https://github.com/qemu/qemu/commit/cd47d792d7a27a57f4b621e2ff1ed8f4e83de1e9
  Author: Fam Zheng <address@hidden>
  Date:   2018-07-10 (Tue, 10 Jul 2018)

  Changed paths:
    M block/io.c

  Log Message:
  -----------
  block: Use common write req handling in truncate

Truncation is the last to convert from open coded req handling to
reusing helpers. This time the permission check in prepare has to adapt
to the new caller: it checks a different permission bit, and doesn't
trigger the before write notifier.

Also, truncation should always trigger a bs->total_sectors update and in
turn call parent resize_cb. Update the condition in finish helper, too.

It's intended to do a duplicated bs->read_only check before calling
bdrv_co_write_req_prepare() so that we can be more informative with the
error message, as bdrv_co_write_req_prepare() doesn't have Error
parameter.

Signed-off-by: Fam Zheng <address@hidden>
Signed-off-by: Kevin Wolf <address@hidden>


  Commit: 7851f1a70657245fab837615087ceaf4541df71f
      
https://github.com/qemu/qemu/commit/7851f1a70657245fab837615087ceaf4541df71f
  Author: Peter Maydell <address@hidden>
  Date:   2018-07-10 (Tue, 10 Jul 2018)

  Changed paths:
    M block.c
    M block/backup.c
    M block/blkdebug.c
    M block/blklogwrites.c
    M block/blkreplay.c
    M block/block-backend.c
    M block/copy-on-read.c
    M block/file-posix.c
    M block/file-win32.c
    M block/io.c
    M block/iscsi.c
    M block/mirror.c
    M block/qcow2-refcount.c
    M block/qcow2.c
    M block/raw-format.c
    M block/throttle.c
    M block/trace-events
    M blockdev.c
    M device-hotplug.c
    M hmp-commands.hx
    M hw/block/block.c
    M hw/block/nvme.c
    M hw/block/virtio-blk.c
    M hw/ide/qdev.c
    M hw/scsi/scsi-disk.c
    M hw/usb/dev-storage.c
    M include/block/block.h
    M include/block/block_int.h
    M include/hw/block/block.h
    M include/sysemu/block-backend.h
    M include/sysemu/blockdev.h
    M qapi/block-core.json
    M qemu-doc.texi
    M qemu-img.c
    M qemu-options.hx
    M tests/ahci-test.c
    M tests/hd-geo-test.c
    M tests/ide-test.c
    M tests/qemu-iotests/197
    M tests/qemu-iotests/197.out
    M tests/qemu-iotests/222
    M tests/test-bdrv-drain.c

  Log Message:
  -----------
  Merge remote-tracking branch 'remotes/kevin/tags/for-upstream' into staging

Block layer patches:

- Copy offloading fixes for when the copy increases the image size
- Temporary revert of the removal of deprecated -drive options
- Fix request serialisation in the image fleecing scenario
- Fix copy-on-read crash with unaligned image size
- Fix another drain crash

# gpg: Signature made Tue 10 Jul 2018 16:37:52 BST
# gpg:                using RSA key 7F09B272C88F2FD6
# gpg: Good signature from "Kevin Wolf <address@hidden>"
# Primary key fingerprint: DC3D EB15 9A9A F95D 3D74  56FE 7F09 B272 C88F 2FD6

* remotes/kevin/tags/for-upstream: (24 commits)
  block: Use common write req handling in truncate
  block: Fix bdrv_co_truncate overlap check
  block: Use common req handling in copy offloading
  block: Use common req handling for discard
  block: Fix handling of image enlarging write
  block: Extract common write req handling
  block: Use uint64_t for BdrvTrackedRequest byte fields
  block: Use BdrvChild to discard
  block: Add copy offloading trace points
  block: Prefix file driver trace points with "file_"
  Revert "block: Remove deprecated -drive geometry options"
  Revert "block: Remove deprecated -drive option addr"
  Revert "block: Remove deprecated -drive option serial"
  Revert "block: Remove dead deprecation warning code"
  block/blklogwrites: Make sure the log sector size is not too small
  qapi/block-core.json: Add missing documentation for blklogwrites log-append 
option
  block/backup: fix fleecing scheme: use serialized writes
  block: add BDRV_REQ_SERIALISING flag
  block: split flags in copy_range
  block/io: fix copy_range
  ...

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


Compare: https://github.com/qemu/qemu/compare/0956ee3e4027...7851f1a70657
      **NOTE:** This service been marked for deprecation: 
https://developer.github.com/changes/2018-04-25-github-services-deprecation/

      Functionality will be removed from GitHub.com on January 31st, 2019.

reply via email to

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