Signed-off-by: Peter Lieven <[email protected]>
---
block/iscsi.c | 10 ++++++++++
1 file changed, 10 insertions(+)
diff --git a/block/iscsi.c b/block/iscsi.c
index aabcddb..21b1ecf 100644
--- a/block/iscsi.c
+++ b/block/iscsi.c
@@ -1362,6 +1362,16 @@ static int iscsi_open(BlockDriverState *bs, QDict
*options, int flags)
sizeof(struct scsi_inquiry_block_limits));
scsi_free_scsi_task(task);
task = NULL;
+
+ if (iscsilun->bl.max_unmap < 0xffffffff) {
+ bs->max_discard = sector_lun2qemu(iscsilun->bl.max_unmap,
iscsilun);
+ }
+ bs->discard_alignment = sector_lun2qemu(iscsilun->bl.opt_unmap_gran,
iscsilun);
+
+ if (iscsilun->bl.max_ws_len < 0xffffffff) {
+ bs->max_write_zeroes = sector_lun2qemu(iscsilun->bl.max_ws_len,
iscsilun);
+ }
+ bs->write_zeroes_alignment =
sector_lun2qemu(iscsilun->bl.opt_unmap_gran, iscsilun);
}
#if defined(LIBISCSI_FEATURE_NOP_COUNTER)
--
1.7.9.5