qemu-commits
[Top][All Lists]
Advanced

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

[Qemu-commits] [qemu/qemu] 1a62d0: block: Fragment reads to max transfer


From: GitHub
Subject: [Qemu-commits] [qemu/qemu] 1a62d0: block: Fragment reads to max transfer length
Date: Thu, 21 Jul 2016 04:00:05 -0700

  Branch: refs/heads/master
  Home:   https://github.com/qemu/qemu
  Commit: 1a62d0accdf85fbeac149018ee8d1728e754de73
      
https://github.com/qemu/qemu/commit/1a62d0accdf85fbeac149018ee8d1728e754de73
  Author: Eric Blake <address@hidden>
  Date:   2016-07-20 (Wed, 20 Jul 2016)

  Changed paths:
    M block/io.c

  Log Message:
  -----------
  block: Fragment reads to max transfer length

Drivers should be able to rely on the block layer honoring the
max transfer length, rather than needing to return -EINVAL
(iscsi) or manually fragment things (nbd).  This patch adds
the fragmentation in the block layer, after requests have been
aligned (fragmenting before alignment would lead to multiple
unaligned requests, rather than just the head and tail).

The return value was previously nebulous on success on whether
it was zero or the length read; and fragmenting may introduce
yet other non-zero values if we use the last length read.  But
as at least some callers are sloppy and expect only zero on
success, it is easiest to just guarantee 0.

[Fix uninitialized ret local variable in bdrv_aligned_preadv().
--Stefan]

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


  Commit: 8a39b4d6e2926a536027f7ffbc28a3ed2e5d32b0
      
https://github.com/qemu/qemu/commit/8a39b4d6e2926a536027f7ffbc28a3ed2e5d32b0
  Author: Eric Blake <address@hidden>
  Date:   2016-07-20 (Wed, 20 Jul 2016)

  Changed paths:
    M block/raw_bsd.c

  Log Message:
  -----------
  raw_bsd: Don't advertise flags not supported by protocol layer

The raw format layer supports all flags via passthrough - but
it only makes sense to pass through flags that the lower layer
actually supports.

The next patch gives stronger reasoning for why this is correct.
At the moment, the raw format layer ignores the max_transfer
limit of its protocol layer, and an attempt to do the qemu-io
'w -f 0 40m' to an NBD server that lacks FUA will pass the entire
40m request to the NBD driver, which then fragments the request
itself into a 32m write, 8m write, and flush.  But once the block
layer starts honoring limits and fragmenting packets, the raw
driver will hand the NBD driver two separate requests; if both
requests have BDRV_REQ_FUA set, then this would result in a 32m
write, flush, 8m write, and second flush.  By having the raw
layer no longer advertise FUA support when the protocol layer
lacks it, we are back to a single flush at the block layer for
the overall 40m request.

Note that 'w -f -z 0 40m' does not currently exhibit the same
problem, because there, the fragmentation does not occur until
at the NBD layer (the raw layer has .bdrv_co_pwrite_zeroes, and
the NBD layer doesn't advertise max_pwrite_zeroes to constrain
things at the raw layer) - but the problem is latent and we
would again have too many flushes without this patch once the
NBD layer implements support for the new NBD_CMD_WRITE_ZEROES
command, if it sets max_pwrite_zeroes to the same 32m limit as
recommended by the NBD protocol.

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


  Commit: 04ed95f4843281e292d93018d56d4b14705f9f2c
      
https://github.com/qemu/qemu/commit/04ed95f4843281e292d93018d56d4b14705f9f2c
  Author: Eric Blake <address@hidden>
  Date:   2016-07-20 (Wed, 20 Jul 2016)

  Changed paths:
    M block/io.c

  Log Message:
  -----------
  block: Fragment writes to max transfer length

Drivers should be able to rely on the block layer honoring the
max transfer length, rather than needing to return -EINVAL
(iscsi) or manually fragment things (nbd).  We already fragment
write zeroes at the block layer; this patch adds the fragmentation
for normal writes, after requests have been aligned (fragmenting
before alignment would lead to multiple unaligned requests, rather
than just the head and tail).

When fragmenting a large request where FUA was requested, but
where we know that FUA is implemented by flushing all requests
rather than the given request, then we can still get by with
only one flush.  Note, however, that we need a followup patch
to the raw format driver to avoid a regression in the number of
flushes actually issued.

The return value was previously nebulous on success (sometimes
zero, sometimes the length written); since we never have a short
write, and since fragmenting may store yet another positive
value in 'ret', change the function to always return 0 on success,
matching what we do in bdrv_aligned_preadv().

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


  Commit: fb1a6de14ab353baa4bc3dfb777e662a26045ca9
      
https://github.com/qemu/qemu/commit/fb1a6de14ab353baa4bc3dfb777e662a26045ca9
  Author: Eric Blake <address@hidden>
  Date:   2016-07-20 (Wed, 20 Jul 2016)

  Changed paths:
    M block/nbd-client.c
    M block/nbd.c

  Log Message:
  -----------
  nbd: Rely on block layer to break up large requests

Now that the block layer will honor max_transfer, we can simplify
our code to rely on that guarantee.

The readv code can call directly into nbd-client, just as the
writev code has done since commit 52a4650.

Interestingly enough, while qemu-io 'w 0 40m' splits into a 32M
and 8M transaction, 'w -z 0 40m' splits into two 16M and an 8M,
because the block layer caps the bounce buffer for writing zeroes
at 16M.  When we later introduce support for NBD_CMD_WRITE_ZEROES,
we can get a full 32M zero write (or larger, if the client and
server negotiate that write zeroes can use a larger size than
ordinary writes).

Signed-off-by: Eric Blake <address@hidden>
Reviewed-by: Fam Zheng <address@hidden>
Reviewed-by: Stefan Hajnoczi <address@hidden>
Acked-by: Paolo Bonzini <address@hidden>
Message-id: address@hidden
Signed-off-by: Stefan Hajnoczi <address@hidden>


  Commit: 1e2a77a851b3369799272c8e77c07995a1a2e579
      
https://github.com/qemu/qemu/commit/1e2a77a851b3369799272c8e77c07995a1a2e579
  Author: Eric Blake <address@hidden>
  Date:   2016-07-20 (Wed, 20 Jul 2016)

  Changed paths:
    M block/nbd-client.c
    M include/block/nbd.h
    M nbd/common.c
    M nbd/nbd-internal.h

  Log Message:
  -----------
  nbd: Drop unused offset parameter

Now that NBD relies on the block layer to fragment things, we no
longer need to track an offset argument for which fragment of
a request we are actually servicing.

While at it, use true and false instead of 0 and 1 for a bool
parameter.

Signed-off-by: Eric Blake <address@hidden>
Reviewed-by: Fam Zheng <address@hidden>
Reviewed-by: Stefan Hajnoczi <address@hidden>
Acked-by: Paolo Bonzini <address@hidden>
Message-id: address@hidden
Signed-off-by: Stefan Hajnoczi <address@hidden>


  Commit: 6bd01f14dbef06dc22c0400f12dfbef06ab6b766
      
https://github.com/qemu/qemu/commit/6bd01f14dbef06dc22c0400f12dfbef06ab6b766
  Author: Eric Blake <address@hidden>
  Date:   2016-07-20 (Wed, 20 Jul 2016)

  Changed paths:
    M block/iscsi.c

  Log Message:
  -----------
  iscsi: Rely on block layer to break up large requests

Now that the block layer honors max_request, we don't need to
bother with an EINVAL on overlarge requests, but can instead
assert that requests are well-behaved.

Signed-off-by: Eric Blake <address@hidden>
Reviewed-by: Fam Zheng <address@hidden>
Reviewed-by: Stefan Hajnoczi <address@hidden>
Acked-by: Paolo Bonzini <address@hidden>
Message-id: address@hidden
Signed-off-by: Stefan Hajnoczi <address@hidden>


  Commit: 9f1963b3f72521f75a549f8afd61b19e7da63c6f
      
https://github.com/qemu/qemu/commit/9f1963b3f72521f75a549f8afd61b19e7da63c6f
  Author: Eric Blake <address@hidden>
  Date:   2016-07-20 (Wed, 20 Jul 2016)

  Changed paths:
    M block/blkreplay.c
    M block/block-backend.c
    M block/io.c
    M block/raw_bsd.c
    M include/block/block.h

  Log Message:
  -----------
  block: Convert bdrv_co_discard() to byte-based

Another step towards byte-based interfaces everywhere.  Replace
the sector-based bdrv_co_discard() with a new byte-based
bdrv_co_pdiscard(), which silently ignores any unaligned head
or tail.  Driver callbacks will be converted in followup patches.

By calculating the alignment outside of the loop, and clamping
the max discard to an aligned value, we can simplify the actions
done within the loop.

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


  Commit: 0c51a893b643bc9393c685b47b9cea1e6831565f
      
https://github.com/qemu/qemu/commit/0c51a893b643bc9393c685b47b9cea1e6831565f
  Author: Eric Blake <address@hidden>
  Date:   2016-07-20 (Wed, 20 Jul 2016)

  Changed paths:
    M block/block-backend.c
    M block/io.c
    M block/qcow2-refcount.c
    M include/block/block.h

  Log Message:
  -----------
  block: Convert bdrv_discard() to byte-based

Another step towards byte-based interfaces everywhere.  Replace
the sector-based bdrv_discard() with a new byte-based
bdrv_pdiscard(), which silently ignores any unaligned head
or tail.

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


  Commit: b15404e0273e20baddcbbc1e8915f2e9ee9b117b
      
https://github.com/qemu/qemu/commit/b15404e0273e20baddcbbc1e8915f2e9ee9b117b
  Author: Eric Blake <address@hidden>
  Date:   2016-07-20 (Wed, 20 Jul 2016)

  Changed paths:
    M block/io.c

  Log Message:
  -----------
  block: Switch BlockRequest to byte-based

BlockRequest is the internal struct used by bdrv_aio_*.  At the
moment, all such calls were sector-based, but we will eventually
convert to byte-based; start by changing the internal variables
to be byte-based.  No change to behavior, although the read and
write code can now go byte-based through more of the stack.

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


  Commit: 60ebac16bca3e3bf07c7ae67a69a7730aaa48712
      
https://github.com/qemu/qemu/commit/60ebac16bca3e3bf07c7ae67a69a7730aaa48712
  Author: Eric Blake <address@hidden>
  Date:   2016-07-20 (Wed, 20 Jul 2016)

  Changed paths:
    M block/block-backend.c
    M block/io.c
    M block/trace-events
    M include/block/block.h

  Log Message:
  -----------
  block: Convert bdrv_aio_discard() to byte-based

Another step towards byte-based interfaces everywhere.  Replace
the sector-based bdrv_aio_discard() with a new byte-based
bdrv_aio_pdiscard(), which silently ignores any unaligned head
or tail.  Driver callbacks will be converted in followup patches.

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


  Commit: 1c6c4bb7f0a4cc3987e58880ef96159985dc1228
      
https://github.com/qemu/qemu/commit/1c6c4bb7f0a4cc3987e58880ef96159985dc1228
  Author: Eric Blake <address@hidden>
  Date:   2016-07-20 (Wed, 20 Jul 2016)

  Changed paths:
    M block/block-backend.c
    M block/mirror.c
    M hw/block/xen_disk.c
    M hw/ide/core.c
    M hw/scsi/scsi-disk.c
    M include/sysemu/block-backend.h
    M nbd/server.c
    M qemu-io-cmds.c

  Log Message:
  -----------
  block: Convert BB interface to byte-based discards

Change sector-based blk_discard(), blk_co_discard(), and
blk_aio_discard() to instead be byte-based blk_pdiscard(),
blk_co_pdiscard(), and blk_aio_pdiscard().  NBD gets a lot
simpler now that ignoring the unaligned portion of a
byte-based discard request is handled under the hood by
the block layer.

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


  Commit: 36e3b2e7338a5a5323f7ca9d8d4d439e971a18dd
      
https://github.com/qemu/qemu/commit/36e3b2e7338a5a5323f7ca9d8d4d439e971a18dd
  Author: Eric Blake <address@hidden>
  Date:   2016-07-20 (Wed, 20 Jul 2016)

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

  Log Message:
  -----------
  raw-posix: Switch paio_submit() to byte-based

The only remaining uses of paio_submit() were flush (with no
offset or count) and discard (which we are switching to byte-based);
furthermore, the similarly named paio_submit_co() is already
byte-based.

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


  Commit: 7bbca9e290a9c7c217b5a24fc6094e91e54bd05d
      
https://github.com/qemu/qemu/commit/7bbca9e290a9c7c217b5a24fc6094e91e54bd05d
  Author: Eric Blake <address@hidden>
  Date:   2016-07-20 (Wed, 20 Jul 2016)

  Changed paths:
    M block/rbd.c

  Log Message:
  -----------
  rbd: Switch rbd_start_aio() to byte-based

The internal function converts to byte-based before calling into
RBD code; hoist the conversion to the callers so that callers
can then be switched to byte-based themselves.

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


  Commit: 4da444a0bb5b6a7563a785f027402e5af4bd53aa
      
https://github.com/qemu/qemu/commit/4da444a0bb5b6a7563a785f027402e5af4bd53aa
  Author: Eric Blake <address@hidden>
  Date:   2016-07-20 (Wed, 20 Jul 2016)

  Changed paths:
    M block/io.c
    M block/raw-posix.c
    M block/rbd.c
    M include/block/block_int.h

  Log Message:
  -----------
  block: Convert .bdrv_aio_discard() to byte-based

Another step towards byte-based interfaces everywhere.  Replace
the sector-based driver callback .bdrv_aio_discard() with a new
byte-based .bdrv_aio_pdiscard().  Only raw-posix and RBD drivers
are affected, so it was not worth splitting into multiple patches.

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


  Commit: 47a5486d598e0cfef6c87c5f44b85955a5f2c4ff
      
https://github.com/qemu/qemu/commit/47a5486d598e0cfef6c87c5f44b85955a5f2c4ff
  Author: Eric Blake <address@hidden>
  Date:   2016-07-20 (Wed, 20 Jul 2016)

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

  Log Message:
  -----------
  block: Add .bdrv_co_pdiscard() driver callback

There's enough drivers with a sector-based callback that it will
be easier to switch one at a time.  This patch adds a byte-based
callback, and then after all drivers are swapped, we'll drop the
sector-based callback.

[checkpatch doesn't like the space after coroutine_fn in
block_int.h, but it's consistent with the rest of the file]

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


  Commit: aba76e2f0313178487e471bb55d022a89056c954
      
https://github.com/qemu/qemu/commit/aba76e2f0313178487e471bb55d022a89056c954
  Author: Eric Blake <address@hidden>
  Date:   2016-07-20 (Wed, 20 Jul 2016)

  Changed paths:
    M block/blkreplay.c

  Log Message:
  -----------
  blkreplay: Switch .bdrv_co_discard() to byte-based

Another step towards killing off sector-based block APIs.

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


  Commit: 1014170b825c4d9252fe531d13658f104447f31c
      
https://github.com/qemu/qemu/commit/1014170b825c4d9252fe531d13658f104447f31c
  Author: Eric Blake <address@hidden>
  Date:   2016-07-20 (Wed, 20 Jul 2016)

  Changed paths:
    M block/gluster.c

  Log Message:
  -----------
  gluster: Switch .bdrv_co_discard() to byte-based

Another step towards killing off sector-based block APIs.

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


  Commit: 97c7e85cfea4f4edc1536c50ca2f3c1627d8e443
      
https://github.com/qemu/qemu/commit/97c7e85cfea4f4edc1536c50ca2f3c1627d8e443
  Author: Eric Blake <address@hidden>
  Date:   2016-07-20 (Wed, 20 Jul 2016)

  Changed paths:
    M block/iscsi.c

  Log Message:
  -----------
  iscsi: Switch .bdrv_co_discard() to byte-based

Another step towards killing off sector-based block APIs.

Unlike write_zeroes, where we can be handed unaligned requests
and must fail gracefully with -ENOTSUP for a fallback, we are
guaranteed that discard requests are always aligned because the
block layer already ignored unaligned head/tail.

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


  Commit: 447e57c3b056c310463238268d514798b23c376f
      
https://github.com/qemu/qemu/commit/447e57c3b056c310463238268d514798b23c376f
  Author: Eric Blake <address@hidden>
  Date:   2016-07-20 (Wed, 20 Jul 2016)

  Changed paths:
    M block/nbd-client.c
    M block/nbd-client.h
    M block/nbd.c

  Log Message:
  -----------
  nbd: Switch .bdrv_co_discard() to byte-based

Another step towards killing off sector-based block APIs.

While at it, call directly into nbd-client.c instead of having
a pointless trivial wrapper in nbd.c.

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


  Commit: 82e8a7888b7840e6b1770e131970d031ad64bc5b
      
https://github.com/qemu/qemu/commit/82e8a7888b7840e6b1770e131970d031ad64bc5b
  Author: Eric Blake <address@hidden>
  Date:   2016-07-20 (Wed, 20 Jul 2016)

  Changed paths:
    M block/qcow2.c

  Log Message:
  -----------
  qcow2: Switch .bdrv_co_discard() to byte-based

Another step towards killing off sector-based block APIs.

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


  Commit: 5f61ad079af198aa6ba46e4461715ed834f72214
      
https://github.com/qemu/qemu/commit/5f61ad079af198aa6ba46e4461715ed834f72214
  Author: Eric Blake <address@hidden>
  Date:   2016-07-20 (Wed, 20 Jul 2016)

  Changed paths:
    M block/raw_bsd.c

  Log Message:
  -----------
  raw_bsd: Switch .bdrv_co_discard() to byte-based

Another step towards killing off sector-based block APIs.

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


  Commit: dde475376317ba86e9531b7ebd9e04306e8f9bd4
      
https://github.com/qemu/qemu/commit/dde475376317ba86e9531b7ebd9e04306e8f9bd4
  Author: Eric Blake <address@hidden>
  Date:   2016-07-20 (Wed, 20 Jul 2016)

  Changed paths:
    M block/sheepdog.c

  Log Message:
  -----------
  sheepdog: Switch .bdrv_co_discard() to byte-based

Another step towards killing off sector-based block APIs.

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


  Commit: 02aefe43cb437ae437d5df88b7f2951f21d62ead
      
https://github.com/qemu/qemu/commit/02aefe43cb437ae437d5df88b7f2951f21d62ead
  Author: Eric Blake <address@hidden>
  Date:   2016-07-20 (Wed, 20 Jul 2016)

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

  Log Message:
  -----------
  block: Kill .bdrv_co_discard()

Now that all drivers have a byte-based .bdrv_co_pdiscard(), we
no longer need to worry about the sector-based version.  We can
also relax our minimum alignment to 1 for drivers that support it.

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


  Commit: 70c4fb2648f31fcfd69296dd4f2b1b664572270f
      
https://github.com/qemu/qemu/commit/70c4fb2648f31fcfd69296dd4f2b1b664572270f
  Author: Eric Blake <address@hidden>
  Date:   2016-07-20 (Wed, 20 Jul 2016)

  Changed paths:
    M block/nbd-client.c
    M block/nbd-client.h
    M block/nbd.c
    M include/block/nbd.h

  Log Message:
  -----------
  nbd: Convert to byte-based interface

The NBD protocol doesn't have any notion of sectors, so it is
a fairly easy conversion to use byte-based read and write.

Signed-off-by: Eric Blake <address@hidden>
Acked-by: Paolo Bonzini <address@hidden>
Message-id: address@hidden
Signed-off-by: Stefan Hajnoczi <address@hidden>


  Commit: decaeed7734bddc95e2c81858fbbec3e923310a1
      
https://github.com/qemu/qemu/commit/decaeed7734bddc95e2c81858fbbec3e923310a1
  Author: Eric Blake <address@hidden>
  Date:   2016-07-20 (Wed, 20 Jul 2016)

  Changed paths:
    M block/raw_bsd.c

  Log Message:
  -----------
  raw_bsd: Convert to byte-based interface

Since the raw format driver is just passing things through, we can
do byte-based read and write if the underlying protocol does
likewise.

There's one tricky part - if we probed the image format, we document
that we restrict operations on the initial sector.  It's easiest to
keep this guarantee by enforcing read-modify-write on sub-sector
operations (yes, this partially reverts commit ad82be2f).

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


  Commit: 61ead113ae53a4dae63b5377ace1300cb8705682
      
https://github.com/qemu/qemu/commit/61ead113ae53a4dae63b5377ace1300cb8705682
  Author: Peter Maydell <address@hidden>
  Date:   2016-07-21 (Thu, 21 Jul 2016)

  Changed paths:
    M block/blkreplay.c
    M block/block-backend.c
    M block/gluster.c
    M block/io.c
    M block/iscsi.c
    M block/mirror.c
    M block/nbd-client.c
    M block/nbd-client.h
    M block/nbd.c
    M block/qcow2-refcount.c
    M block/qcow2.c
    M block/raw-posix.c
    M block/raw-win32.c
    M block/raw_bsd.c
    M block/rbd.c
    M block/sheepdog.c
    M block/trace-events
    M hw/block/xen_disk.c
    M hw/ide/core.c
    M hw/scsi/scsi-disk.c
    M include/block/block.h
    M include/block/block_int.h
    M include/block/nbd.h
    M include/sysemu/block-backend.h
    M nbd/common.c
    M nbd/nbd-internal.h
    M nbd/server.c
    M qemu-io-cmds.c

  Log Message:
  -----------
  Merge remote-tracking branch 'remotes/stefanha/tags/block-pull-request' into 
staging

Pull request

v2:
 * Resolved merge conflict with block/iscsi.c [Peter]

# gpg: Signature made Wed 20 Jul 2016 17:20:52 BST
# gpg:                using RSA key 0x9CA4ABB381AB73C8
# gpg: Good signature from "Stefan Hajnoczi <address@hidden>"
# gpg:                 aka "Stefan Hajnoczi <address@hidden>"
# Primary key fingerprint: 8695 A8BF D3F9 7CDA AC35  775A 9CA4 ABB3 81AB 73C8

* remotes/stefanha/tags/block-pull-request: (25 commits)
  raw_bsd: Convert to byte-based interface
  nbd: Convert to byte-based interface
  block: Kill .bdrv_co_discard()
  sheepdog: Switch .bdrv_co_discard() to byte-based
  raw_bsd: Switch .bdrv_co_discard() to byte-based
  qcow2: Switch .bdrv_co_discard() to byte-based
  nbd: Switch .bdrv_co_discard() to byte-based
  iscsi: Switch .bdrv_co_discard() to byte-based
  gluster: Switch .bdrv_co_discard() to byte-based
  blkreplay: Switch .bdrv_co_discard() to byte-based
  block: Add .bdrv_co_pdiscard() driver callback
  block: Convert .bdrv_aio_discard() to byte-based
  rbd: Switch rbd_start_aio() to byte-based
  raw-posix: Switch paio_submit() to byte-based
  block: Convert BB interface to byte-based discards
  block: Convert bdrv_aio_discard() to byte-based
  block: Switch BlockRequest to byte-based
  block: Convert bdrv_discard() to byte-based
  block: Convert bdrv_co_discard() to byte-based
  iscsi: Rely on block layer to break up large requests
  ...

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

Conflicts:
        block/gluster.c


Compare: https://github.com/qemu/qemu/compare/b95aae121b96...61ead113ae53

reply via email to

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