[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-block] [Qemu-devel] [PATCH v3 0/6] Auto-fragment large transac
From: |
Stefan Hajnoczi |
Subject: |
Re: [Qemu-block] [Qemu-devel] [PATCH v3 0/6] Auto-fragment large transactions at the block layer |
Date: |
Tue, 19 Jul 2016 17:12:11 +0100 |
User-agent: |
Mutt/1.6.1 (2016-04-27) |
On Fri, Jul 15, 2016 at 12:31: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-v3
>
> Changes since v2:
> - patch 1, 3: change return semantics to be 0, not bytes, on success,
> since at least one caller asserts during 'make check' otherwise
>
> 001/6:[0008] [FC] 'block: Fragment reads to max transfer length'
> 002/6:[----] [--] 'raw_bsd: Don't advertise flags not supported by protocol
> layer'
> 003/6:[0002] [FC] 'block: Fragment writes to max transfer length'
> 004/6:[----] [--] 'nbd: Rely on block layer to break up large requests'
> 005/6:[----] [--] '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(-)
>
> --
> 2.5.5
>
>
Thanks, applied to my block tree:
https://github.com/stefanha/qemu/commits/block
Stefan
signature.asc
Description: PGP signature
- [Qemu-block] [PATCH v3 0/6] Auto-fragment large transactions at the block layer, Eric Blake, 2016/07/15
- [Qemu-block] [PATCH v3 5/6] nbd: Drop unused offset parameter, Eric Blake, 2016/07/15
- [Qemu-block] [PATCH v3 6/6] iscsi: Rely on block layer to break up large requests, Eric Blake, 2016/07/15
- [Qemu-block] [PATCH v3 1/6] block: Fragment reads to max transfer length, Eric Blake, 2016/07/15
- [Qemu-block] [PATCH v3 2/6] raw_bsd: Don't advertise flags not supported by protocol layer, Eric Blake, 2016/07/15
- [Qemu-block] [PATCH v3 4/6] nbd: Rely on block layer to break up large requests, Eric Blake, 2016/07/15
- [Qemu-block] [PATCH v3 3/6] block: Fragment writes to max transfer length, Eric Blake, 2016/07/15
- Re: [Qemu-block] [Qemu-devel] [PATCH v3 0/6] Auto-fragment large transactions at the block layer,
Stefan Hajnoczi <=