qemu-commits
[Top][All Lists]
Advanced

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

[Qemu-commits] [qemu/qemu] 17e9aa: block-qdict: Pacify Coverity after co


From: GitHub
Subject: [Qemu-commits] [qemu/qemu] 17e9aa: block-qdict: Pacify Coverity after commit f1b34a24...
Date: Sat, 30 Jun 2018 03:54:20 -0700

  Branch: refs/heads/master
  Home:   https://github.com/qemu/qemu
  Commit: 17e9aa3f220df64fc288a175dbd62324e92d850c
      
https://github.com/qemu/qemu/commit/17e9aa3f220df64fc288a175dbd62324e92d850c
  Author: Markus Armbruster <address@hidden>
  Date:   2018-06-29 (Fri, 29 Jun 2018)

  Changed paths:
    M qobject/block-qdict.c

  Log Message:
  -----------
  block-qdict: Pacify Coverity after commit f1b34a248e9

Commit f1b34a248e9 replaced less-than-obvious test in
qdict_flatten_qdict() by the obvious one.  Sadly, it made something
else non-obvious: the fact that @new_key passed to qdict_put_obj()
can't be null, because that depends on the function's precondition
(target == qdict) == !prefix.

Tweak the function some more to help Coverity and human readers alike.

Fixes: CID 1393620
Signed-off-by: Markus Armbruster <address@hidden>
Signed-off-by: Kevin Wolf <address@hidden>


  Commit: e6af90f3fb7b87f18f46f6588fbf3e781d6f4ef6
      
https://github.com/qemu/qemu/commit/e6af90f3fb7b87f18f46f6588fbf3e781d6f4ef6
  Author: Markus Armbruster <address@hidden>
  Date:   2018-06-29 (Fri, 29 Jun 2018)

  Changed paths:
    M block/crypto.c

  Log Message:
  -----------
  block/crypto: Pacify Coverity after commit f853465aacb

Coverity can't see that qobject_input_visitor_new_flat_confused()
returns non-null when it doesn't set @local_err.  Check the return
value instead, like all the other callers do.

Fixes: CID 1393615
Fixes: CID 1393616
Signed-off-by: Markus Armbruster <address@hidden>
Signed-off-by: Kevin Wolf <address@hidden>


  Commit: 0ab1c41d1cdf50c90ff976d29ac943e727334668
      
https://github.com/qemu/qemu/commit/0ab1c41d1cdf50c90ff976d29ac943e727334668
  Author: Kevin Wolf <address@hidden>
  Date:   2018-06-29 (Fri, 29 Jun 2018)

  Changed paths:
    M qapi/job.json

  Log Message:
  -----------
  qapi/job: The next release will be 3.0

Commit 51f63ec7d tried to change all references to 2.13 into 3.0, but
it failed to achieve this because it was not properly rebased on top of
the series introducing qapi/job.json. Change the references now.

Signed-off-by: Kevin Wolf <address@hidden>
Reviewed-by: Markus Armbruster <address@hidden>
Reviewed-by: Eric Blake <address@hidden>


  Commit: b8efb36b9e99dbea7370139c0866b97a933f78d4
      
https://github.com/qemu/qemu/commit/b8efb36b9e99dbea7370139c0866b97a933f78d4
  Author: Kevin Wolf <address@hidden>
  Date:   2018-06-29 (Fri, 29 Jun 2018)

  Changed paths:
    M hw/scsi/scsi-bus.c
    M hw/usb/dev-storage.c
    M include/hw/scsi/scsi.h

  Log Message:
  -----------
  usb-storage: Add rerror/werror properties

The error handling policy was traditionally set with -drive, but with
-blockdev it is no longer possible to set frontend options. scsi-disk
(and other block devices) have long supported qdev properties to
configure the error handling policy, so let's add these options to
usb-storage as well and just forward them to the internal scsi-disk
instance.

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


  Commit: 7c8952697e9c44931090251e142c1d3108c22be4
      
https://github.com/qemu/qemu/commit/7c8952697e9c44931090251e142c1d3108c22be4
  Author: Weiping Zhang <address@hidden>
  Date:   2018-06-29 (Fri, 29 Jun 2018)

  Changed paths:
    M hw/block/nvme.c

  Log Message:
  -----------
  hw/block/nvme: add optional parameter num_queues for nvme device

Add an optional paramter num_queues for device, and set it
to 64 by default.

Signed-off-by: Weiping Zhang <address@hidden>
Acked-by: Keith Busch <address@hidden>
Signed-off-by: Kevin Wolf <address@hidden>


  Commit: ae5475e82fd1ebb24f4f77cf28f59ca6548c6136
      
https://github.com/qemu/qemu/commit/ae5475e82fd1ebb24f4f77cf28f59ca6548c6136
  Author: Kevin Wolf <address@hidden>
  Date:   2018-06-29 (Fri, 29 Jun 2018)

  Changed paths:
    M block/qcow2.c

  Log Message:
  -----------
  qcow2: Fix qcow2_truncate() error return value

If qcow2_alloc_clusters_at() returns an error, we do need to negate it
to get back the positive errno code for error_setg_errno(), but we still
need to return the negative error code.

Fixes: 772d1f973f87269f6a4a4ea4b880680f3779bbdf
Signed-off-by: Kevin Wolf <address@hidden>
Reviewed-by: Stefan Hajnoczi <address@hidden>


  Commit: 061ca8a368165fae300748c17971824a089f521f
      
https://github.com/qemu/qemu/commit/061ca8a368165fae300748c17971824a089f521f
  Author: Kevin Wolf <address@hidden>
  Date:   2018-06-29 (Fri, 29 Jun 2018)

  Changed paths:
    M block.c
    M block/copy-on-read.c
    M block/crypto.c
    M block/file-posix.c
    M block/file-win32.c
    M block/gluster.c
    M block/iscsi.c
    M block/nfs.c
    M block/qcow2.c
    M block/qed.c
    M block/raw-format.c
    M block/rbd.c
    M block/sheepdog.c
    M block/ssh.c
    M include/block/block.h
    M include/block/block_int.h

  Log Message:
  -----------
  block: Convert .bdrv_truncate callback to coroutine_fn

bdrv_truncate() is an operation that can block (even for a quite long
time, depending on the PreallocMode) in I/O paths that shouldn't block.
Convert it to a coroutine_fn so that we have the infrastructure for
drivers to make their .bdrv_co_truncate implementation asynchronous.

This change could potentially introduce new race conditions because
bdrv_truncate() isn't necessarily executed atomically any more. Whether
this is a problem needs to be evaluated for each block driver that
supports truncate:

* file-posix/win32, gluster, iscsi, nfs, rbd, ssh, sheepdog: The
  protocol drivers are trivially safe because they don't actually yield
  yet, so there is no change in behaviour.

* copy-on-read, crypto, raw-format: Essentially just filter drivers that
  pass the request to a child node, no problem.

* qcow2: The implementation modifies metadata, so it needs to hold
  s->lock to be safe with concurrent I/O requests. In order to avoid
  double locking, this requires pulling the locking out into
  preallocate_co() and using qcow2_write_caches() instead of
  bdrv_flush().

* qed: Does a single header update, this is fine without locking.

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


  Commit: 47e86b868d57ffe13162ca44e5f6a51c15c4a769
      
https://github.com/qemu/qemu/commit/47e86b868d57ffe13162ca44e5f6a51c15c4a769
  Author: Kevin Wolf <address@hidden>
  Date:   2018-06-29 (Fri, 29 Jun 2018)

  Changed paths:
    M block/qcow2.c

  Log Message:
  -----------
  qcow2: Remove coroutine trampoline for preallocate_co()

All callers are coroutine_fns now, so we can just directly call
preallocate_co().

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


  Commit: 3d9f2d2af63fda5f0404fb85ea80161837a4e4e3
      
https://github.com/qemu/qemu/commit/3d9f2d2af63fda5f0404fb85ea80161837a4e4e3
  Author: Kevin Wolf <address@hidden>
  Date:   2018-06-29 (Fri, 29 Jun 2018)

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

  Log Message:
  -----------
  block: Move bdrv_truncate() implementation to io.c

This moves the bdrv_truncate() implementation from block.c to block/io.c
so it can have access to the tracked requests infrastructure.

This involves making refresh_total_sectors() public (in block_int.h).

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


  Commit: 1bc5f09f2e1b2be8f6f737b8d5352b438fc41492
      
https://github.com/qemu/qemu/commit/1bc5f09f2e1b2be8f6f737b8d5352b438fc41492
  Author: Kevin Wolf <address@hidden>
  Date:   2018-06-29 (Fri, 29 Jun 2018)

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

  Log Message:
  -----------
  block: Use tracked request for truncate

When growing an image, block drivers (especially protocol drivers) may
initialise the newly added area. I/O requests to the same area need to
wait for this initialisation to be completed so that data writes don't
get overwritten and reads don't read uninitialised data.

To avoid overhead in the fast I/O path by adding new locking in the
protocol drivers and to restrict the impact to requests that actually
touch the new area, reuse the existing tracked request infrastructure in
block/io.c and mark all discard requests as serialising.

With this change, it is safe for protocol drivers to make
.bdrv_co_truncate actually asynchronous.

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


  Commit: 93f4e2ff4b31205d8bab0856631a52ed442b8b1c
      
https://github.com/qemu/qemu/commit/93f4e2ff4b31205d8bab0856631a52ed442b8b1c
  Author: Kevin Wolf <address@hidden>
  Date:   2018-06-29 (Fri, 29 Jun 2018)

  Changed paths:
    M block/file-posix.c
    M include/block/raw-aio.h

  Log Message:
  -----------
  file-posix: Make .bdrv_co_truncate asynchronous

This moves the code to resize an image file to the thread pool to avoid
blocking.

Creating large images with preallocation with blockdev-create is now
actually a background job instead of blocking the monitor (and most
other things) until the preallocation has completed.

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


  Commit: 354d930dc6e90e97599459b79c071ff1b93e433b
      
https://github.com/qemu/qemu/commit/354d930dc6e90e97599459b79c071ff1b93e433b
  Author: Fam Zheng <address@hidden>
  Date:   2018-06-29 (Fri, 29 Jun 2018)

  Changed paths:
    M block/qcow2.c

  Log Message:
  -----------
  qcow2: Remove dead check on !ret

In the beginning of the function, we initialize the local variable to 0,
and in the body of the function, we check the assigned values and exit
the loop immediately. So here it can never be non-zero.

Reported-by: Kevin Wolf <address@hidden>
Signed-off-by: Fam Zheng <address@hidden>
Reviewed-by: Stefan Hajnoczi <address@hidden>
Reviewed-by: Philippe Mathieu-Daudé <address@hidden>
Signed-off-by: Kevin Wolf <address@hidden>


  Commit: 37aec7d75eb0d035a0db4f2cf9ad8b1b0c10f91b
      
https://github.com/qemu/qemu/commit/37aec7d75eb0d035a0db4f2cf9ad8b1b0c10f91b
  Author: Fam Zheng <address@hidden>
  Date:   2018-06-29 (Fri, 29 Jun 2018)

  Changed paths:
    M block/io.c

  Log Message:
  -----------
  block: Move request tracking to children in copy offloading

in_flight and tracked requests need to be tracked in every layer during
recursion. For now the only user is qemu-img convert where overlapping
requests and IOThreads don't exist, therefore this change doesn't make
much difference form user point of view, but it is incorrect as part of
the API. Fix it.

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


  Commit: 796d32394516d624986e9275f56bfcbffe945491
      
https://github.com/qemu/qemu/commit/796d32394516d624986e9275f56bfcbffe945491
  Author: Markus Armbruster <address@hidden>
  Date:   2018-06-29 (Fri, 29 Jun 2018)

  Changed paths:
    M block/crypto.c
    M block/crypto.h
    M block/qcow.c
    M block/qcow2.c

  Log Message:
  -----------
  block/crypto: Simplify block_crypto_{open,create}_opts_init()

block_crypto_open_opts_init() and block_crypto_create_opts_init()
contain a virtual visit of QCryptoBlockOptions and
QCryptoBlockCreateOptions less member "format", respectively.

Change their callers to put member "format" in the QDict, so they can
use the generated visitors for these types instead.

Signed-off-by: Markus Armbruster <address@hidden>
Reviewed-by: Eric Blake <address@hidden>
Signed-off-by: Kevin Wolf <address@hidden>


  Commit: 93a3642efcadf4ad6045ccea38a05ff5297dfe26
      
https://github.com/qemu/qemu/commit/93a3642efcadf4ad6045ccea38a05ff5297dfe26
  Author: Kevin Wolf <address@hidden>
  Date:   2018-06-29 (Fri, 29 Jun 2018)

  Changed paths:
    M tests/qemu-iotests/026.out.nocache

  Log Message:
  -----------
  qemu-iotests: Update 026.out.nocache reference output

Commit abf754fe406 updated 026.out, but forgot to also update
026.out.nocache.

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


  Commit: 8b24cd141549b5b264baeddd4e72902cfb5de23b
      
https://github.com/qemu/qemu/commit/8b24cd141549b5b264baeddd4e72902cfb5de23b
  Author: Kevin Wolf <address@hidden>
  Date:   2018-06-29 (Fri, 29 Jun 2018)

  Changed paths:
    M block/qcow2-cluster.c
    M block/qcow2.c
    M block/qcow2.h

  Log Message:
  -----------
  qcow2: Free allocated clusters on write error

If we managed to allocate the clusters, but then failed to write the
data, there's a good chance that we'll still be able to free the
clusters again in order to avoid cluster leaks (the refcounts are
cached, so even if we can't write them out right now, we may be able to
do so when the VM is resumed after a werror=stop/enospc pause).

Signed-off-by: Kevin Wolf <address@hidden>
Reviewed-by: Max Reitz <address@hidden>
Reviewed-by: Eric Blake <address@hidden>
Tested-by: Eric Blake <address@hidden>


  Commit: ae376c6255d0eee4b3c4d60acc4679aa99c0d2c8
      
https://github.com/qemu/qemu/commit/ae376c6255d0eee4b3c4d60acc4679aa99c0d2c8
  Author: Kevin Wolf <address@hidden>
  Date:   2018-06-29 (Fri, 29 Jun 2018)

  Changed paths:
    M tests/qemu-iotests/026
    M tests/qemu-iotests/026.out
    M tests/qemu-iotests/026.out.nocache

  Log Message:
  -----------
  qemu-iotests: Test qcow2 not leaking clusters on write error

This adds a test for a temporary write failure, which simulates the
situation after werror=stop/enospc has stopped the VM. We shouldn't
leave leaked clusters behind in such cases.

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


  Commit: 33d70fb6faa3b8b2aac47a2052a4943c94fc48a2
      
https://github.com/qemu/qemu/commit/33d70fb6faa3b8b2aac47a2052a4943c94fc48a2
  Author: Kevin Wolf <address@hidden>
  Date:   2018-06-29 (Fri, 29 Jun 2018)

  Changed paths:
    M block/file-posix.c

  Log Message:
  -----------
  file-posix: Implement co versions of discard/flush

This simplifies file-posix by implementing the coroutine variants of
the discard and flush BlockDriver callbacks. These were the last
remaining users of paio_submit(), which can be removed now.

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


  Commit: e06f4639d8a93703eecc3aad06c8a3e9b2ef4968
      
https://github.com/qemu/qemu/commit/e06f4639d8a93703eecc3aad06c8a3e9b2ef4968
  Author: Fam Zheng <address@hidden>
  Date:   2018-06-29 (Fri, 29 Jun 2018)

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

  Log Message:
  -----------
  qcow2: Fix src_offset in copy offloading

Not updating src_offset will result in wrong data being written to dst
image.

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


  Commit: 1439b9c11002348eb80fcd3c90f07bf0f4f088dc
      
https://github.com/qemu/qemu/commit/1439b9c11002348eb80fcd3c90f07bf0f4f088dc
  Author: Fam Zheng <address@hidden>
  Date:   2018-06-29 (Fri, 29 Jun 2018)

  Changed paths:
    M block/iscsi.c

  Log Message:
  -----------
  iscsi: Don't blindly use designator length in response for memcpy

Per SCSI definition the designator_length we receive from INQUIRY is 8,
12 or at most 16, but we should be careful because the remote iscsi
target may misbehave, otherwise we could have a buffer overflow.

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


  Commit: c436e3d0145a3952aacf1a4014434b82d7157633
      
https://github.com/qemu/qemu/commit/c436e3d0145a3952aacf1a4014434b82d7157633
  Author: Fam Zheng <address@hidden>
  Date:   2018-06-29 (Fri, 29 Jun 2018)

  Changed paths:
    M block/file-posix.c

  Log Message:
  -----------
  file-posix: Fix EINTR handling

EINTR should be checked against errno, not ret. While fixing the bug,
collect the branches with a switch block.

Also, change the return value from -ENOSTUP to -ENOSPC when the actual
issue is request range passes EOF, which should be distinguishable from
the case of error == ENOSYS by the caller, so that it could still retry
with other byte ranges, whereas it shouldn't retry anymore upon ENOSYS.

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


  Commit: d08c2a245feb6ab82b5a044f72c75964eedeaef5
      
https://github.com/qemu/qemu/commit/d08c2a245feb6ab82b5a044f72c75964eedeaef5
  Author: Eric Blake <address@hidden>
  Date:   2018-06-29 (Fri, 29 Jun 2018)

  Changed paths:
    M block/parallels.c

  Log Message:
  -----------
  parallels: Switch to byte-based calls

We are gradually moving away from sector-based interfaces, towards
byte-based.  Make the change for the last few sector-based calls
into the block layer from the parallels driver.

Ideally, the parallels driver should switch to doing everything
byte-based, but that's a more invasive change that requires a
bit more auditing.

Signed-off-by: Eric Blake <address@hidden>
Reviewed-by: Stefan Hajnoczi <address@hidden>
Reviewed-by: Denis V. Lunev <address@hidden>
Reviewed-by: Jeff Cody <address@hidden>
Signed-off-by: Kevin Wolf <address@hidden>


  Commit: 787993a5435289e90479f80f81681c804a9d22ce
      
https://github.com/qemu/qemu/commit/787993a5435289e90479f80f81681c804a9d22ce
  Author: Eric Blake <address@hidden>
  Date:   2018-06-29 (Fri, 29 Jun 2018)

  Changed paths:
    M block/qcow.c

  Log Message:
  -----------
  qcow: Switch get_cluster_offset to be byte-based

We are gradually moving away from sector-based interfaces, towards
byte-based.  Make the change for the internal helper function
get_cluster_offset(), by changing n_start and n_end to be byte
offsets rather than sector indices within the cluster being
allocated.  However, assert that these values are still
sector-aligned (at least qcrypto_block_encrypt() still wants that).
For now we get that alignment for free because we still use
sector-based driver callbacks.

A later patch will then switch the qcow driver as a whole over
to byte-based operation; but will still leave things at sector
alignments as it is not worth auditing the qcow image format
to worry about sub-sector requests.

Signed-off-by: Eric Blake <address@hidden>
Reviewed-by: Jeff Cody <address@hidden>
Signed-off-by: Kevin Wolf <address@hidden>


  Commit: a15312b0172292273303b3690f9eb69f3c01339c
      
https://github.com/qemu/qemu/commit/a15312b0172292273303b3690f9eb69f3c01339c
  Author: Eric Blake <address@hidden>
  Date:   2018-06-29 (Fri, 29 Jun 2018)

  Changed paths:
    M block/qcow.c

  Log Message:
  -----------
  qcow: Switch qcow_co_readv to byte-based calls

We are gradually moving away from sector-based interfaces, towards
byte-based.  Make the change for the internals of the qcow
driver read function, by iterating over offset/bytes instead of
sector_num/nb_sectors, and with a rename of index_in_cluster and
repurposing of n to track bytes instead of sectors.

A later patch will then switch the qcow driver as a whole over
to byte-based operation.

Signed-off-by: Eric Blake <address@hidden>
Reviewed-by: Jeff Cody <address@hidden>
Signed-off-by: Kevin Wolf <address@hidden>


  Commit: d1326a786d471840b9055af53a7aa57c2e6d858c
      
https://github.com/qemu/qemu/commit/d1326a786d471840b9055af53a7aa57c2e6d858c
  Author: Eric Blake <address@hidden>
  Date:   2018-06-29 (Fri, 29 Jun 2018)

  Changed paths:
    M block/qcow.c

  Log Message:
  -----------
  qcow: Switch qcow_co_writev to byte-based calls

We are gradually moving away from sector-based interfaces, towards
byte-based.  Make the change for the internals of the qcow
driver write function, by iterating over offset/bytes instead of
sector_num/nb_sectors, and with a rename of index_in_cluster and
repurposing of n to track bytes instead of sectors.

A later patch will then switch the qcow driver as a whole over
to byte-based operation.

Signed-off-by: Eric Blake <address@hidden>
Reviewed-by: Jeff Cody <address@hidden>
Signed-off-by: Kevin Wolf <address@hidden>


  Commit: 609841a3f8cb1761380032b7bbccb438abb8290f
      
https://github.com/qemu/qemu/commit/609841a3f8cb1761380032b7bbccb438abb8290f
  Author: Eric Blake <address@hidden>
  Date:   2018-06-29 (Fri, 29 Jun 2018)

  Changed paths:
    M block/qcow.c

  Log Message:
  -----------
  qcow: Switch to a byte-based driver

We are gradually moving away from sector-based interfaces, towards
byte-based.  The qcow driver is now ready to fully utilize the
byte-based callback interface, as long as we override the default
alignment to still be 512 (needed at least for asserts present
because of encryption, but easier to do everywhere than to audit
which sub-sector requests are handled correctly, especially since
we no longer recommend qcow for new disk images).

Signed-off-by: Eric Blake <address@hidden>
Reviewed-by: Jeff Cody <address@hidden>
Signed-off-by: Kevin Wolf <address@hidden>


  Commit: 04a11d87d1dfdc5f8081398694db8849d010c12d
      
https://github.com/qemu/qemu/commit/04a11d87d1dfdc5f8081398694db8849d010c12d
  Author: Eric Blake <address@hidden>
  Date:   2018-06-29 (Fri, 29 Jun 2018)

  Changed paths:
    M block/replication.c

  Log Message:
  -----------
  replication: Switch to byte-based calls

We are gradually moving away from sector-based interfaces, towards
byte-based.  Make the change for the last few sector-based calls
into the block layer from the replication driver.

Ideally, the replication driver should switch to doing everything
byte-based, but that's a more invasive change that requires a
bit more auditing.

Signed-off-by: Eric Blake <address@hidden>
Reviewed-by: Jeff Cody <address@hidden>
Signed-off-by: Kevin Wolf <address@hidden>


  Commit: 3a7404b31e96156ea35be6fec938e162517e28d9
      
https://github.com/qemu/qemu/commit/3a7404b31e96156ea35be6fec938e162517e28d9
  Author: Eric Blake <address@hidden>
  Date:   2018-06-29 (Fri, 29 Jun 2018)

  Changed paths:
    M block/vhdx.c

  Log Message:
  -----------
  vhdx: Switch to byte-based calls

We are gradually moving away from sector-based interfaces, towards
byte-based.  Make the change for the last few sector-based calls
into the block layer from the vhdx driver.

Ideally, the vhdx driver should switch to doing everything
byte-based, but that's a more invasive change that requires a
bit more auditing.

Signed-off-by: Eric Blake <address@hidden>
Reviewed-by: Jeff Cody <address@hidden>
Signed-off-by: Kevin Wolf <address@hidden>


  Commit: 583c99d39368526dfb57a715b04a6ceea27dbe1e
      
https://github.com/qemu/qemu/commit/583c99d39368526dfb57a715b04a6ceea27dbe1e
  Author: Eric Blake <address@hidden>
  Date:   2018-06-29 (Fri, 29 Jun 2018)

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

  Log Message:
  -----------
  block: Remove unused sector-based vectored I/O

We are gradually moving away from sector-based interfaces, towards
byte-based.  Now that all callers of vectored I/O have been converted
to use our preferred byte-based bdrv_co_p{read,write}v(), we can
delete the unused bdrv_co_{read,write}v().

Furthermore, this gets rid of the signature difference between the
public bdrv_co_writev() and the callback .bdrv_co_writev (the
latter still exists, because some drivers still need more work
before they are fully byte-based).

Signed-off-by: Eric Blake <address@hidden>
Reviewed-by: Stefan Hajnoczi <address@hidden>
Reviewed-by: Jeff Cody <address@hidden>
Signed-off-by: Kevin Wolf <address@hidden>


  Commit: ce59ecc411fcde327e35364411f9e9ebbf96cab1
      
https://github.com/qemu/qemu/commit/ce59ecc411fcde327e35364411f9e9ebbf96cab1
  Author: Peter Maydell <address@hidden>
  Date:   2018-06-29 (Fri, 29 Jun 2018)

  Changed paths:
    M block.c
    M block/copy-on-read.c
    M block/crypto.c
    M block/crypto.h
    M block/file-posix.c
    M block/file-win32.c
    M block/gluster.c
    M block/io.c
    M block/iscsi.c
    M block/nfs.c
    M block/parallels.c
    M block/qcow.c
    M block/qcow2-cluster.c
    M block/qcow2.c
    M block/qcow2.h
    M block/qed.c
    M block/raw-format.c
    M block/rbd.c
    M block/replication.c
    M block/sheepdog.c
    M block/ssh.c
    M block/vhdx.c
    M hw/block/nvme.c
    M hw/scsi/scsi-bus.c
    M hw/usb/dev-storage.c
    M include/block/block.h
    M include/block/block_int.h
    M include/block/raw-aio.h
    M include/hw/scsi/scsi.h
    M qapi/job.json
    M qobject/block-qdict.c
    M tests/qemu-iotests/026
    M tests/qemu-iotests/026.out
    M tests/qemu-iotests/026.out.nocache
    M tests/qemu-iotests/063
    M tests/qemu-iotests/063.out

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

Block layer patches:

- Make truncate operations asynchronous (so that preallocation in
  blockdev-create doesn't block the main loop any more)
- usb-storage: Add rerror/werror properties
- nvme: Add num_queues property
- qemu-img convert: Copy offloading fixes (including data corruption fix)
- qcow2: Fix cluster leak on temporary write error
- Use byte-based functions instead of bdrv_co_readv/writev()
- Various small fixes and cleanups

# gpg: Signature made Fri 29 Jun 2018 15:08:34 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: (29 commits)
  block: Remove unused sector-based vectored I/O
  vhdx: Switch to byte-based calls
  replication: Switch to byte-based calls
  qcow: Switch to a byte-based driver
  qcow: Switch qcow_co_writev to byte-based calls
  qcow: Switch qcow_co_readv to byte-based calls
  qcow: Switch get_cluster_offset to be byte-based
  parallels: Switch to byte-based calls
  file-posix: Fix EINTR handling
  iscsi: Don't blindly use designator length in response for memcpy
  qcow2: Fix src_offset in copy offloading
  file-posix: Implement co versions of discard/flush
  qemu-iotests: Test qcow2 not leaking clusters on write error
  qcow2: Free allocated clusters on write error
  qemu-iotests: Update 026.out.nocache reference output
  block/crypto: Simplify block_crypto_{open,create}_opts_init()
  block: Move request tracking to children in copy offloading
  qcow2: Remove dead check on !ret
  file-posix: Make .bdrv_co_truncate asynchronous
  block: Use tracked request for truncate
  ...

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


Compare: https://github.com/qemu/qemu/compare/b2866c29156a...ce59ecc411fc
      **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]