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>
signature.asc
Description: PGP signature