diff options
author | Marco Sanvido <marco@purestorage.com> | 2012-01-20 15:49:27 -0800 |
---|---|---|
committer | Nicholas Bellinger <nab@linux-iscsi.org> | 2012-02-07 06:48:20 +0000 |
commit | 7347b5ff7090b2b399b7921a266255cd55bbd78f (patch) | |
tree | 3952df49566e07f4cbdbc7aef6b28abadf008dca | |
parent | 735703cac08f34a197e1c6331ca9adc8a52d6046 (diff) | |
download | lwn-7347b5ff7090b2b399b7921a266255cd55bbd78f.tar.gz lwn-7347b5ff7090b2b399b7921a266255cd55bbd78f.zip |
target: Fix iblock se_dev_attrib.unmap_granularity
The block layer keeps q->limits.discard_granularity in bytes, but iblock
(and the SCSI Block Limits VPD page) keep unmap_granularity in blocks.
Report the correct value when exporting block devices by dividing to
convert bytes to blocks.
Signed-off-by: Roland Dreier <roland@purestorage.com>
Signed-off-by: Nicholas Bellinger <nab@linux-iscsi.org>
-rw-r--r-- | drivers/target/target_core_iblock.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/target/target_core_iblock.c b/drivers/target/target_core_iblock.c index 628e877381d8..d43d5eb5ed20 100644 --- a/drivers/target/target_core_iblock.c +++ b/drivers/target/target_core_iblock.c @@ -181,7 +181,7 @@ static struct se_device *iblock_create_virtdevice( */ dev->se_sub_dev->se_dev_attrib.max_unmap_block_desc_count = 1; dev->se_sub_dev->se_dev_attrib.unmap_granularity = - q->limits.discard_granularity; + q->limits.discard_granularity >> 9; dev->se_sub_dev->se_dev_attrib.unmap_granularity_alignment = q->limits.discard_alignment; |