Re: [PATCH 21/24] common/rc: teach _scratch_mkfs_sized to set a size on an xfs realtime volume

Christoph Hellwig
2020-09-17T08:12:14Z

On Mon, Sep 14, 2020 at 06:45:08PM -0700, Darrick J. Wong wrote:
> From: Darrick J. Wong <darrick.wong@oracle.com>
>
> 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@oracle.com>
> ---
> 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

The indentation here looks rather weird. I also don't think we need
the HOSTOS check.

Otherwise looks good:

Reviewed-by: Christoph Hellwig <hch@lst.de>