Re: [PATCH] generic/108: use sysfs values for logical,physical block size in scsi_debug

[Date Prev] [Date Next] [Thread Prev] [Thread Next] [Date Index] [Thread Index]



 Mon, Mar 21, 2022 at 01:21:33PM -0700, Darrick J. Wong wrote:
> On Wed, Mar 02, 2022 at 02:59:47AM +0530, Nitesh Shetty wrote:
> > scsi_debug device used for test, is created with assumption of 512 bytes
> > logical and physical block size.
> > This causes error in lvcreate step, when SCRATCH_DEV device lba is not
> > 512 bytes. This can be solved by reading block size from sysfs of device.
> > If sysfs is missing fallback to 512 bytes as default.
> > 
> > Signed-off-by: Nitesh Shetty <nj.shetty@xxxxxxxxxxx>
> > ---
> >  tests/generic/108 | 5 ++++-
> >  1 file changed, 4 insertions(+), 1 deletion(-)
> > 
> > diff --git a/tests/generic/108 b/tests/generic/108
> > index ad43269f..db0e9bd0 100755
> > --- a/tests/generic/108
> > +++ b/tests/generic/108
> > @@ -42,8 +42,11 @@ _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)
> 
> This causes a regression if $SCRATCH_DEV is not a raw block device:
> 
Acked, I was testing for NVMe device, missed out sda sysfs.
Let me see, if I can use other sysfs/utility to get block size of device.

Also I see many 4k LBA tests failing mainly because of setup failure in
format command. This is not actually test failure, rather setup failure.
So what do you suggest for those type of tests?
Should I put them in not run status or just report to community so that
person with relevant expertise can add a fix?

--Nitesh Shetty


> # SCRATCH_DEV=/dev/sda4 ./check generic/108
> ...
> --- generic/108.out
> +++ generic/108.out.bad
> @@ -1,2 +1,4 @@
>  QA output created by 108
> +cat: /sys/block/sda4/queue/physical_block_size: No such file or directory
> +cat: /sys/block/sda4/queue/logical_block_size: No such file or directory
>  fsync: Input/output error
> 
> --D
> 
> > +
> >  # _get_scsi_debug_dev returns a scsi debug device with 128M in size by default
> > -SCSI_DEBUG_DEV=`_get_scsi_debug_dev 512 512 0 300`
> > +SCSI_DEBUG_DEV=`_get_scsi_debug_dev ${physical:-512} ${logical:-512} 0 300`
> >  test -b "$SCSI_DEBUG_DEV" || _notrun "Failed to initialize scsi debug device"
> >  echo "SCSI debug device $SCSI_DEBUG_DEV" >>$seqres.full
> >  
> > 
> > base-commit: 2ea74ba4e70b546279896e2a733c8c7f4b206193
> > -- 
> > 2.25.1
> > 
> 





[Index of Archives]     [Linux Filesystems Development]     [Linux NFS]     [Linux NILFS]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux