generic/108: use blockdev utility to calculate physical and logical block size
authorNitesh Shetty <nj.shetty@samsung.com>
Wed, 23 Mar 2022 18:06:43 +0000 (23:36 +0530)
committerEryu Guan <guaneryu@gmail.com>
Sun, 10 Apr 2022 15:15:49 +0000 (23:15 +0800)
Reading sysfs to get physical and logical block fails,
if SCRATCH_DEV is partitioned device.

Signed-off-by: Nitesh Shetty <nj.shetty@samsung.com>
Reported-by: Darrick J. Wong <djwong@kernel.org>
Reported-by: Wang Yugui <wangyugui@e16-tech.com>
Reviewed-by: Darrick J. Wong <djwong@kernel.org>
Signed-off-by: Eryu Guan <guaneryu@gmail.com>
tests/generic/108

index db0e9bd0572ff401ca67f848224be97b22fe1ad5..efe66ba57f1ce9e09c73d88b92de508285bbde43 100755 (executable)
@@ -42,8 +42,8 @@ _require_non_zoned_device $SCRATCH_DEV
 lvname=lv_$seq
 vgname=vg_$seq
 
-physical=$(cat /sys/block/$(_short_dev $SCRATCH_DEV)/queue/physical_block_size)
-logical=$(cat /sys/block/$(_short_dev $SCRATCH_DEV)/queue/logical_block_size)
+physical=`blockdev --getpbsz $SCRATCH_DEV`
+logical=`blockdev --getss $SCRATCH_DEV`
 
 # _get_scsi_debug_dev returns a scsi debug device with 128M in size by default
 SCSI_DEBUG_DEV=`_get_scsi_debug_dev ${physical:-512} ${logical:-512} 0 300`