On Fri, Jul 08, 2016 at 04:35:58PM -0600, Eric Blake wrote:
> We have max_transfer documented in BlockLimits, but while we
> honor it during pwrite_zeroes, we were blindly ignoring it
> during pwritev and preadv, leading to multiple drivers having
> to implement fragmentation themselves.  This series moves
> fragmentation to the block layer, then fixes the NBD and iscsi
> driver to use it.
> 
> qcow2 still does self-fragmenting, but that's because of cluster
> boundaries where it really has to do additional work beyond what
> the block layer can automatically provide.
> 
> Prequisite: Kevin's latest block branch PULL request
> 
> Also available as a tag at:
> git fetch git://repo.or.cz/qemu/ericb.git nbd-fragment-v2
> 
> Changes since v1:
> - patch 1 - fix valid -O2 compiler complaint [Kevin]
> - patch 2 [old 3] - move earlier [Kevin]
> - patch 1, 3 [old 1, 2] - tweak return value
> - patch 5 - minor formatting tweak [Kevin]
> 
> 001/6:[0006] [FC] 'block: Fragment reads to max transfer length'
> 002/6:[----] [--] 'raw_bsd: Don't advertise flags not supported by protocol 
> layer'
> 003/6:[0004] [FC] 'block: Fragment writes to max transfer length'
> 004/6:[----] [--] 'nbd: Rely on block layer to break up large requests'
> 005/6:[0004] [FC] 'nbd: Drop unused offset parameter'
> 006/6:[----] [--] 'iscsi: Rely on block layer to break up large requests'
> 
> Eric Blake (6):
>   block: Fragment reads to max transfer length
>   raw_bsd: Don't advertise flags not supported by protocol layer
>   block: Fragment writes to max transfer length
>   nbd: Rely on block layer to break up large requests
>   nbd: Drop unused offset parameter
>   iscsi: Rely on block layer to break up large requests
> 
>  include/block/nbd.h |  1 -
>  nbd/nbd-internal.h  |  4 +--
>  block/io.c          | 90 
> +++++++++++++++++++++++++++++++++++++++--------------
>  block/iscsi.c       | 14 +++------
>  block/nbd-client.c  | 78 +++++++++++++---------------------------------
>  block/nbd.c         | 12 ++-----
>  block/raw_bsd.c     |  6 ++--
>  nbd/common.c        |  5 +--
>  8 files changed, 103 insertions(+), 107 deletions(-)

Reviewed-by: Stefan Hajnoczi <stefa...@redhat.com>

Attachment: signature.asc
Description: PGP signature

Reply via email to