qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH 0/5] Auto-fragment large transactions at the block layer
@ 2016-06-20 23:39 Eric Blake
  2016-06-20 23:39 ` [Qemu-devel] [PATCH 1/5] block: Fragment reads to max transfer length Eric Blake
                   ` (8 more replies)
  0 siblings, 9 replies; 21+ messages in thread
From: Eric Blake @ 2016-06-20 23:39 UTC (permalink / raw)
  To: qemu-devel; +Cc: qemu-block, kwolf

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 driver to
use it; if you like this but it needs a v2, you can request that
I further do other drivers (I know at least iscsi and qcow2 do
some self-fragmenting and/or error reporting that can be
simplified by deferring fragmentation to the block layer).

Prequisite: Kevin's block branch, plus my work on byte-based
block limits (v2 at the moment):
https://lists.gnu.org/archive/html/qemu-devel/2016-06/msg04006.html

Also available as a tag at:
git fetch git://repo.or.cz/qemu/ericb.git nbd-fragment-v1

Eric Blake (5):
  block: Fragment reads to max transfer length
  block: Fragment writes to max transfer length
  raw_bsd: Don't advertise flags not supported by protocol layer
  nbd: Rely on block layer to break up large requests
  nbd: Drop unused offset parameter

 include/block/nbd.h |  1 -
 nbd/nbd-internal.h  |  4 +--
 block/io.c          | 84 +++++++++++++++++++++++++++++++++++++++--------------
 block/nbd-client.c  | 78 ++++++++++++++-----------------------------------
 block/nbd.c         | 12 ++------
 block/raw_bsd.c     |  6 ++--
 nbd/common.c        |  3 +-
 7 files changed, 95 insertions(+), 93 deletions(-)

-- 
2.5.5

^ permalink raw reply	[flat|nested] 21+ messages in thread

end of thread, other threads:[~2016-07-08 14:32 UTC | newest]

Thread overview: 21+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-06-20 23:39 [Qemu-devel] [PATCH 0/5] Auto-fragment large transactions at the block layer Eric Blake
2016-06-20 23:39 ` [Qemu-devel] [PATCH 1/5] block: Fragment reads to max transfer length Eric Blake
2016-07-08 10:56   ` Kevin Wolf
2016-07-08 14:31     ` Eric Blake
2016-06-20 23:39 ` [Qemu-devel] [PATCH 2/5] block: Fragment writes " Eric Blake
2016-06-20 23:39 ` [Qemu-devel] [PATCH 3/5] raw_bsd: Don't advertise flags not supported by protocol layer Eric Blake
2016-07-08 11:05   ` Kevin Wolf
2016-07-08 14:32     ` Eric Blake
2016-06-20 23:39 ` [Qemu-devel] [PATCH 4/5] nbd: Rely on block layer to break up large requests Eric Blake
2016-06-20 23:39 ` [Qemu-devel] [PATCH 5/5] nbd: Drop unused offset parameter Eric Blake
2016-07-08 11:11   ` Kevin Wolf
2016-06-21  3:19 ` [Qemu-devel] [PATCH 6/5] iscsi: Rely on block layer to break up large requests Eric Blake
2016-06-21  4:17 ` [Qemu-devel] [PATCH 0/5] Auto-fragment large transactions at the block layer Eric Blake
2016-06-21 10:23 ` Stefan Hajnoczi
2016-06-21 10:43   ` Kevin Wolf
2016-06-22 11:41     ` Stefan Hajnoczi
2016-06-21 22:05   ` Eric Blake
2016-06-22 11:41     ` Stefan Hajnoczi
2016-06-22  5:54 ` Fam Zheng
2016-07-06  2:04   ` Eric Blake
2016-07-08 11:15     ` Kevin Wolf

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).