Il 11/07/2013 14:16, Peter Lieven ha scritto:
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(-)
Applied 7-10 to scsi-next, please rebase/resubmit the others (possibly
together with the qemu-img convert patches).