On Mon, Sep 14, 2020 at 06:45:08PM -0700, Darrick J. Wong wrote: > From: Darrick J. Wong <darrick.wong@xxxxxxxxxx> > > Generally speaking, tests that call _scratch_mkfs_sized are trying to > constrain a test's run time by formatting a filesystem that's smaller > than the device. The current helper does this for the scratch device, > but it doesn't do this for the xfs realtime volume. > > If fstests has been configured to create files on the realtime device by > default ("-d rtinherit=1) then those tests that want to run with a small > volume size will instead be running with a huge realtime device. This > makes certain tests take forever to run, so apply the same sizing to the > rt volume if one exists. > > Signed-off-by: Darrick J. Wong <darrick.wong@xxxxxxxxxx> > --- Good to me, Reviewed-by: Zorro Lang <zlang@xxxxxxxxxx> > common/rc | 10 ++++++++-- > 1 file changed, 8 insertions(+), 2 deletions(-) > > > diff --git a/common/rc b/common/rc > index f78b1cfc..b2d45fa2 100644 > --- a/common/rc > +++ b/common/rc > @@ -976,14 +976,20 @@ _scratch_mkfs_sized() > [ "$fssize" -gt "$devsize" ] && _notrun "Scratch device too small" > fi > > + if [ "$HOSTOS" == "Linux" ] && [ "$FSTYP" = "xfs" ] && [ -b "$SCRATCH_RTDEV" ]; then > + local rtdevsize=`blockdev --getsize64 $SCRATCH_RTDEV` > + [ "$fssize" -gt "$rtdevsize" ] && _notrun "Scratch rt device too small" > + rt_ops="-r size=$fssize" > + fi > + > case $FSTYP in > xfs) > # don't override MKFS_OPTIONS that set a block size. > echo $MKFS_OPTIONS |egrep -q "b?size=" > if [ $? -eq 0 ]; then > - _scratch_mkfs_xfs -d size=$fssize > + _scratch_mkfs_xfs -d size=$fssize $rt_ops > else > - _scratch_mkfs_xfs -d size=$fssize -b size=$blocksize > + _scratch_mkfs_xfs -d size=$fssize $rt_ops -b size=$blocksize > fi > ;; > ext2|ext3|ext4|ext4dev) >