From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:33526) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bFD7l-00087a-Lq for qemu-devel@nongnu.org; Tue, 21 Jun 2016 00:17:19 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1bFD7k-0001aC-Bu for qemu-devel@nongnu.org; Tue, 21 Jun 2016 00:17:17 -0400 References: <1466465969-25315-1-git-send-email-eblake@redhat.com> From: Eric Blake Message-ID: <5768BFC5.7080208@redhat.com> Date: Mon, 20 Jun 2016 22:17:09 -0600 MIME-Version: 1.0 In-Reply-To: <1466465969-25315-1-git-send-email-eblake@redhat.com> Content-Type: multipart/signed; micalg=pgp-sha256; protocol="application/pgp-signature"; boundary="pNUGxDuD0C66DA248ObxRpdIXOAk2p1pU" Subject: Re: [Qemu-devel] [PATCH 0/5] Auto-fragment large transactions at the block layer List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: kwolf@redhat.com, qemu-block@nongnu.org This is an OpenPGP/MIME signed message (RFC 4880 and 3156) --pNUGxDuD0C66DA248ObxRpdIXOAk2p1pU From: Eric Blake To: qemu-devel@nongnu.org Cc: kwolf@redhat.com, qemu-block@nongnu.org Message-ID: <5768BFC5.7080208@redhat.com> Subject: Re: [Qemu-devel] [PATCH 0/5] Auto-fragment large transactions at the block layer References: <1466465969-25315-1-git-send-email-eblake@redhat.com> In-Reply-To: <1466465969-25315-1-git-send-email-eblake@redhat.com> Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable On 06/20/2016 05:39 PM, 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 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). iscsi turned out to be easy (see 6/5), but qcow2 is too tricky (we still have to fragment in qcow2_alloc_cluster_offset() if cluster allocation is not contiguous, so there is no one good value of max_transfer to use) >=20 > 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 >=20 > Also available as a tag at: > git fetch git://repo.or.cz/qemu/ericb.git nbd-fragment-v1 >=20 > 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 >=20 > 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(-) >=20 --=20 Eric Blake eblake redhat com +1-919-301-3266 Libvirt virtualization library http://libvirt.org --pNUGxDuD0C66DA248ObxRpdIXOAk2p1pU Content-Type: application/pgp-signature; name="signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="signature.asc" -----BEGIN PGP SIGNATURE----- Version: GnuPG v2 Comment: Public key at http://people.redhat.com/eblake/eblake.gpg Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/ iQEcBAEBCAAGBQJXaL/FAAoJEKeha0olJ0Nqh0oH/2lsYGeaiNG6Y/kY/l1P3fON R3lWgQ8YmLroTJokGpaxR/2yIUyKw+bot4ujvwpKH3IoHFqhZLKB3QkF6dehVu91 +fZasZzW/ldYPUpxdPL2ofaqZT2feiBE/x60jBYyR6v0Ii/xcqQgVzXW2Q2Z9AZf 0jIiWgwc5G8hO6jrpl/1CqYjuuuAqNVFV/0N+7HulcuPkvPrk4bZlAq1NZiK6ovq Zt5dSQIB73fwQV877PjmqOjZZl1hk7LwDVEtWGes5vy351pM8XFq6n0S/IZaAfF5 x48PCmGXX4SEsk/qY+kI97x0iD97Hlq/Mp+g4Chyu9bBtdsmymAMGyzBg5zUYjg= =jNkC -----END PGP SIGNATURE----- --pNUGxDuD0C66DA248ObxRpdIXOAk2p1pU--