[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH for-2.7 v2 00/19] byte-based block discard
From: |
Eric Blake |
Subject: |
[Qemu-devel] [PATCH for-2.7 v2 00/19] byte-based block discard |
Date: |
Fri, 15 Jul 2016 17:22:49 -0600 |
Allow NBD to pass a byte-aligned discard request over the wire.
Prerequisite: Kevin's block branch merged with current qemu.git master,
plus my work on auto-fragmenting (v3 at the moment):
https://lists.gnu.org/archive/html/qemu-devel/2016-07/msg03550.html
Also available as a tag at:
git fetch git://repo.or.cz/qemu/ericb.git nbd-discard-v2
This is a merge of two series both posted before soft freeze, both
of which had initial positive review with only a few changes needed:
byte-based block discard
https://lists.gnu.org/archive/html/qemu-devel/2016-06/msg06491.html
Switch raw NBD to byte-based
https://lists.gnu.org/archive/html/qemu-devel/2016-06/msg07030.html
I'd still hoping for one other series to make it into 2.7, based
on being posted prior to soft freeze:
nbd: efficient write zeroes
https://lists.gnu.org/archive/html/qemu-devel/2016-06/msg07463.html
Changes since v1:
- rebase to latest master (several contextual conflicts)
- fix bug with aio_pdiscard using a stack variable qiov after
its scope ends
- tweak raw_bsd to remain sector-based if probing occurred
001/19:[----] [--] 'block: Convert bdrv_co_discard() to byte-based'
002/19:[0004] [FC] 'block: Convert bdrv_discard() to byte-based'
003/19:[0034] [FC] 'block: Switch BlockRequest to byte-based'
004/19:[0008] [FC] 'block: Convert bdrv_aio_discard() to byte-based'
005/19:[----] [--] 'block: Convert BB interface to byte-based discards'
006/19:[----] [--] 'raw-posix: Switch paio_submit() to byte-based'
007/19:[----] [--] 'rbd: Switch rbd_start_aio() to byte-based'
008/19:[----] [--] 'block: Convert .bdrv_aio_discard() to byte-based'
009/19:[----] [--] 'block: Add .bdrv_co_pdiscard() driver callback'
010/19:[----] [-C] 'blkreplay: Switch .bdrv_co_discard() to byte-based'
011/19:[----] [--] 'gluster: Switch .bdrv_co_discard() to byte-based'
012/19:[----] [--] 'iscsi: Switch .bdrv_co_discard() to byte-based'
013/19:[----] [--] 'nbd: Switch .bdrv_co_discard() to byte-based'
014/19:[----] [--] 'qcow2: Switch .bdrv_co_discard() to byte-based'
015/19:[----] [-C] 'raw_bsd: Switch .bdrv_co_discard() to byte-based'
016/19:[----] [--] 'sheepdog: Switch .bdrv_co_discard() to byte-based'
017/19:[----] [--] 'block: Kill .bdrv_co_discard()'
018/19:[----] [--] 'nbd: Convert to byte-based interface'
019/19:[0028] [FC] 'raw_bsd: Convert to byte-based interface'
Eric Blake (19):
block: Convert bdrv_co_discard() to byte-based
block: Convert bdrv_discard() to byte-based
block: Switch BlockRequest to byte-based
block: Convert bdrv_aio_discard() to byte-based
block: Convert BB interface to byte-based discards
raw-posix: Switch paio_submit() to byte-based
rbd: Switch rbd_start_aio() to byte-based
block: Convert .bdrv_aio_discard() to byte-based
block: Add .bdrv_co_pdiscard() driver callback
blkreplay: Switch .bdrv_co_discard() to byte-based
gluster: Switch .bdrv_co_discard() to byte-based
iscsi: Switch .bdrv_co_discard() to byte-based
nbd: Switch .bdrv_co_discard() to byte-based
qcow2: Switch .bdrv_co_discard() to byte-based
raw_bsd: Switch .bdrv_co_discard() to byte-based
sheepdog: Switch .bdrv_co_discard() to byte-based
block: Kill .bdrv_co_discard()
nbd: Convert to byte-based interface
raw_bsd: Convert to byte-based interface
block/nbd-client.h | 11 ++-
include/block/block.h | 10 +--
include/block/block_int.h | 8 +--
include/block/nbd.h | 1 -
include/sysemu/block-backend.h | 9 ++-
block/blkreplay.c | 8 +--
block/block-backend.c | 22 +++---
block/gluster.c | 14 ++--
block/io.c | 154 ++++++++++++++++++++---------------------
block/iscsi.c | 18 +++--
block/mirror.c | 5 +-
block/nbd-client.c | 41 ++++++-----
block/nbd.c | 24 +++----
block/qcow2-refcount.c | 4 +-
block/qcow2.c | 10 +--
block/raw-posix.c | 24 +++----
block/raw-win32.c | 19 ++---
block/raw_bsd.c | 53 ++++++++------
block/rbd.c | 29 ++++----
block/sheepdog.c | 17 +++--
hw/block/xen_disk.c | 7 +-
hw/ide/core.c | 6 +-
hw/scsi/scsi-disk.c | 8 +--
nbd/server.c | 19 ++---
qemu-io-cmds.c | 3 +-
block/trace-events | 4 +-
26 files changed, 260 insertions(+), 268 deletions(-)
--
2.5.5
- [Qemu-devel] [PATCH for-2.7 v2 00/19] byte-based block discard,
Eric Blake <=
- [Qemu-devel] [PATCH v2 02/19] block: Convert bdrv_discard() to byte-based, Eric Blake, 2016/07/15
- [Qemu-devel] [PATCH v2 03/19] block: Switch BlockRequest to byte-based, Eric Blake, 2016/07/15
- [Qemu-devel] [PATCH v2 04/19] block: Convert bdrv_aio_discard() to byte-based, Eric Blake, 2016/07/15
- [Qemu-devel] [PATCH v2 07/19] rbd: Switch rbd_start_aio() to byte-based, Eric Blake, 2016/07/15
- [Qemu-devel] [PATCH v2 05/19] block: Convert BB interface to byte-based discards, Eric Blake, 2016/07/15
- [Qemu-devel] [PATCH v2 08/19] block: Convert .bdrv_aio_discard() to byte-based, Eric Blake, 2016/07/15
- [Qemu-devel] [PATCH v2 10/19] blkreplay: Switch .bdrv_co_discard() to byte-based, Eric Blake, 2016/07/15
- [Qemu-devel] [PATCH v2 09/19] block: Add .bdrv_co_pdiscard() driver callback, Eric Blake, 2016/07/15
- [Qemu-devel] [PATCH v2 11/19] gluster: Switch .bdrv_co_discard() to byte-based, Eric Blake, 2016/07/15
- [Qemu-devel] [PATCH v2 12/19] iscsi: Switch .bdrv_co_discard() to byte-based, Eric Blake, 2016/07/15