[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCHv2 00/11] iscsi/qemu-img/block-migration enhancements
From: |
Peter Lieven |
Subject: |
[Qemu-devel] [PATCHv2 00/11] iscsi/qemu-img/block-migration enhancements |
Date: |
Thu, 27 Jun 2013 15:11:24 +0200 |
this series adds logical block provisioning functions to the iscsi layer.
it adds the ability to write sparse images to iscsi targets which
support UNMAP and LBPRZ via qemu-img. additional block-migration is
enhanced to support an encoding for zero blocks on the network
and efficiently writing those zero blocks at the destination if
the driver supports it.
many thanks to Paolo, Kevin and Ronnie for their useful comments.
changes in v2:
- added patch to read unmap limits from block limits VPD page
- use a generic callback and new framework for coroutines that
can also be used for further porting of the remaining aio
routines. iscsi_co_{write_zeroes,is_allocated} use this new
framework. commands are now also retried on check conditions.
- iscsi_co_write_zeroes checks now for BDRV_O_UNMAP and
if the request is not too big for a single UNMAP call.
- added a patch to let iscsi_create unmap the whole device
if thin provisioning is supported and the unmapped blocks
read as zero. in this case return .has_zero_init = 1.
- added a patch to let aio_discard silently fail if UNMAP
is not supported or the request is too big.
- factored out almost all conversions between qemu and lun
sector size.
- changed the alignment checks from assert() to failing
the request.
- dropped the qemu-img patch that called out to bdrv_write_zeroes.
Peter
Peter Lieven (11):
iscsi: add logical block provisioning information to iscsilun
iscsi: read unmap info from block limits vpd page
iscsi: add bdrv_co_is_allocated
iscsi: add bdrv_co_write_zeroes
block: add bdrv_write_zeroes()
block/raw: add bdrv_co_write_zeroes
iscsi: let bdrv_create conditionally zero out the device
block-migration: efficiently encode zero blocks
iscsi: factor out sector conversions
iscsi: ignore aio_discard if unsupported
iscsi: assert that sectors are aligned to LUN blocksize
block-migration.c | 29 +++-
block.c | 27 ++-
block/iscsi.c | 365 ++++++++++++++++++++++++++++++++++++++++-
block/raw.c | 8 +
include/block/block.h | 2 +
include/migration/qemu-file.h | 1 +
savevm.c | 2 +-
7 files changed, 414 insertions(+), 20 deletions(-)
--
1.7.9.5
- [Qemu-devel] [PATCHv2 00/11] iscsi/qemu-img/block-migration enhancements,
Peter Lieven <=
- [Qemu-devel] [PATCHv2 03/11] iscsi: add bdrv_co_is_allocated, Peter Lieven, 2013/06/27
- [Qemu-devel] [PATCHv2 02/11] iscsi: read unmap info from block limits vpd page, Peter Lieven, 2013/06/27
- [Qemu-devel] [PATCHv2 05/11] block: add bdrv_write_zeroes(), Peter Lieven, 2013/06/27
- [Qemu-devel] [PATCHv2 01/11] iscsi: add logical block provisioning information to iscsilun, Peter Lieven, 2013/06/27
- [Qemu-devel] [PATCHv2 06/11] block/raw: add bdrv_co_write_zeroes, Peter Lieven, 2013/06/27
- [Qemu-devel] [PATCHv2 09/11] iscsi: factor out sector conversions, Peter Lieven, 2013/06/27
- [Qemu-devel] [PATCHv2 07/11] iscsi: let bdrv_create conditionally zero out the device, Peter Lieven, 2013/06/27
- [Qemu-devel] [PATCHv2 10/11] iscsi: ignore aio_discard if unsupported, Peter Lieven, 2013/06/27
- [Qemu-devel] [PATCHv2 04/11] iscsi: add bdrv_co_write_zeroes, Peter Lieven, 2013/06/27
- [Qemu-devel] [PATCHv2 11/11] iscsi: assert that sectors are aligned to LUN blocksize, Peter Lieven, 2013/06/27