block/iscsi: allow cluster_size of 4K and greater
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>
This commit is contained in:
parent
5917af812e
commit
3d2acaa308
@ -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
|
/* 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
|
* of opt_unmap_gran. Transfer the unmap granularity only if it has a
|
||||||
* reasonable size */
|
* 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->bl.opt_unmap_gran * iscsilun->block_size <= 16 * 1024 * 1024) {
|
||||||
iscsilun->cluster_sectors = (iscsilun->bl.opt_unmap_gran *
|
iscsilun->cluster_sectors = (iscsilun->bl.opt_unmap_gran *
|
||||||
iscsilun->block_size) >> BDRV_SECTOR_BITS;
|
iscsilun->block_size) >> BDRV_SECTOR_BITS;
|
||||||
|
Loading…
Reference in New Issue
Block a user