On Wed, Feb 20, 2019 at 05:12:31PM +0900, Shin'ichiro Kawasaki wrote: > zbd/001 and zbd/002 test cases fail for partition devices because of > sysfs path difference between partition devices and their holder > devices. The size parameter in sysfs path is different between the > partition devices and their holder devices. The holder devices have > nr_zones parameter in sysfs but the partition devices do not. > > Utilize _test_dev_is_partition() helper function and TEST_DEV_PART_SYSFS > variable to refer correct sysfs size parameter for the partition devices. > Do not refer sysfs nr_zones parameter for the partition devices. Instead, > calculate the expected nr_zones from device capacity and zone size. Reviewed-by: Omar Sandoval <osandov@xxxxxx> > Signed-off-by: Shin'ichiro Kawasaki <shinichiro.kawasaki@xxxxxxx> > --- > tests/zbd/rc | 8 ++++++-- > 1 file changed, 6 insertions(+), 2 deletions(-) > > diff --git a/tests/zbd/rc b/tests/zbd/rc > index c32bf31..88538d0 100644 > --- a/tests/zbd/rc > +++ b/tests/zbd/rc > @@ -75,7 +75,11 @@ export SV_NR_ZONES=4 > _get_sysfs_variable() { > unset SYSFS_VARS > local _dir=${TEST_DEV_SYSFS} > - SYSFS_VARS[$SV_CAPACITY]=$(<"${_dir}"/size) > + if _test_dev_is_partition; then > + SYSFS_VARS[$SV_CAPACITY]=$(<"${TEST_DEV_PART_SYSFS}"/size) > + else > + SYSFS_VARS[$SV_CAPACITY]=$(<"${_dir}"/size) > + fi > SYSFS_VARS[$SV_CHUNK_SECTORS]=$(<"${_dir}"/queue/chunk_sectors) > SYSFS_VARS[$SV_PHYS_BLK_SIZE]=$(<"${_dir}"/queue/physical_block_size) > SYSFS_VARS[$SV_PHYS_BLK_SECTORS]=$((SYSFS_VARS[SV_PHYS_BLK_SIZE] / 512)) > @@ -83,7 +87,7 @@ _get_sysfs_variable() { > # If the nr_zones sysfs attribute exists, get its value. Otherwise, > # calculate its value based on the total capacity and zone size, taking > # into account that the last zone can be smaller than other zones. > - if [[ -e ${TEST_DEV_SYSFS}/queue/nr_zones ]]; then > + if [[ -e "${_dir}"/queue/nr_zones ]] && ! _test_dev_is_partition; then > SYSFS_VARS[$SV_NR_ZONES]=$(<"${_dir}"/queue/nr_zones) > else > SYSFS_VARS[$SV_NR_ZONES]=$(( (SYSFS_VARS[SV_CAPACITY] - 1) \ > -- > 2.20.1 >