diff options
| author | Eric Blake | 2016-07-15 20:32:02 +0200 |
|---|---|---|
| committer | Stefan Hajnoczi | 2016-07-20 15:11:54 +0200 |
| commit | fb1a6de14ab353baa4bc3dfb777e662a26045ca9 (patch) | |
| tree | c9660b51c577459759693286876f1a0546d19a5d /include | |
| parent | block: Fragment writes to max transfer length (diff) | |
| download | qemu-fb1a6de14ab353baa4bc3dfb777e662a26045ca9.tar.gz qemu-fb1a6de14ab353baa4bc3dfb777e662a26045ca9.tar.xz qemu-fb1a6de14ab353baa4bc3dfb777e662a26045ca9.zip | |
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 <eblake@redhat.com>
Reviewed-by: Fam Zheng <famz@redhat.com>
Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
Acked-by: Paolo Bonzini <pbonzini@redhat.com>
Message-id: 1468607524-19021-5-git-send-email-eblake@redhat.com
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
Diffstat (limited to 'include')
0 files changed, 0 insertions, 0 deletions
