this series adds logical block provisioning functions to the iscsi layer. it also is the first step to the change of migration to coroutines in block/iscsi.
the changes to qemu-img and block migration have been split and will follow in separte patches later. changes in v3: - merge both block provision inquiries into one patch. explitely free the iscsi tasks after the inquiry. limit the unmap to 128k blocks if the target returns max_unmap = 0xffffffff; - in the coroutine framework free the scsi task in the caller not in the callback. also change the iTask init as Kevin suggested. - in iscsi_co_is_allocated() return unallocated only for ANCHORED and UNALLOACTED to avoid a wrong return value if a new provisioning status is introduced. - added new patch adding .bdrv_co_discard - build .bdrv_co_write_zeroes on top of .bdrv_co_discard - fixed a bug for -ENOSPC in iscsi_create() spotted by Kevin. - remove support for misaligned nb_sectors in aio_readv - add log message in error case to lun alignment checks Peter Lieven (10): iscsi: add logical block provisioning information to iscsilun iscsi: add .bdrv_co_is_allocated iscsi: add .bdrv_co_discard iscsi: add .bdrv_write_zeroes block: add bdrv_write_zeroes() block/raw: add bdrv_co_write_zeroes iscsi: fix -ENOSPC in iscsi_create() iscsi: factor out sector conversions iscsi: remove support for misaligned nb_sectors in aio_readv iscsi: assert that sectors are aligned to LUN blocksize block.c | 27 ++- block/iscsi.c | 433 +++++++++++++++++++++++++++++++++++++------------ block/raw.c | 8 + include/block/block.h | 2 + 4 files changed, 358 insertions(+), 112 deletions(-) -- 1.7.9.5