block/iscsi: allow cluster_size of 4K and greater
authorPeter Lieven <pl@kamp.de>
Mon, 28 Apr 2014 15:18:32 +0000 (17:18 +0200)
committerPaolo Bonzini <pbonzini@redhat.com>
Tue, 29 Apr 2014 09:15:01 +0000 (11:15 +0200)
depending on the target the opt_unmap_gran might be as low
as 4K. As we know use this also as a knob to activate the allocationmap
feature lower the barrier. The limit 4K (and not 512) is choosen
to avoid a potentially too big allocationmap.

Signed-off-by: Peter Lieven <pl@kamp.de>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
block/iscsi.c

index e8d26bb781223bdd320b791e0d73e3aee4971992..84bedfa8fc9ea3271250cabbefdcf0d8e37bef39 100644 (file)
@@ -1386,7 +1386,7 @@ static int iscsi_open(BlockDriverState *bs, QDict *options, int flags,
     /* Guess the internal cluster (page) size of the iscsi target by the means
      * of opt_unmap_gran. Transfer the unmap granularity only if it has a
      * reasonable size */
-    if (iscsilun->bl.opt_unmap_gran * iscsilun->block_size >= 64 * 1024 &&
+    if (iscsilun->bl.opt_unmap_gran * iscsilun->block_size >= 4 * 1024 &&
         iscsilun->bl.opt_unmap_gran * iscsilun->block_size <= 16 * 1024 * 1024) {
         iscsilun->cluster_sectors = (iscsilun->bl.opt_unmap_gran *
                                      iscsilun->block_size) >> BDRV_SECTOR_BITS;