On Fri, Apr 09, 2021 at 06:19:03PM +0530, Chandan Babu R wrote: > The minimum length space allocator (i.e. xfs_bmap_exact_minlen_extent_alloc()) > depends on the underlying filesystem to be fragmented so that there are enough > one block sized extents available to satify space allocation requests. > > xfs/{532,533,538} tests issue space allocation requests for metadata (e.g. for > blocks holding directory and xattr information). With realtime filesystem > instances, these tests would end up fragmenting the space on realtime > device. Hence minimum length space allocator fails since the regular > filesystem space is not fragmented and hence there are no one block sized > extents available. > > Thus, this commit disables realtime inherit flag (if any) on root directory so > that space on data device gets fragmented rather than realtime device. > > Suggested-by: Darrick J. Wong <djwong@xxxxxxxxxx> > Reported-by: Darrick J. Wong <djwong@xxxxxxxxxx> > Signed-off-by: Chandan Babu R <chandanrlinux@xxxxxxxxx> Looks good to me, Reviewed-by: Darrick J. Wong <djwong@xxxxxxxxxx> --D > --- > tests/xfs/532 | 4 ++++ > tests/xfs/533 | 4 ++++ > tests/xfs/538 | 4 ++++ > 3 files changed, 12 insertions(+) > > diff --git a/tests/xfs/532 b/tests/xfs/532 > index 2bed574a..560af586 100755 > --- a/tests/xfs/532 > +++ b/tests/xfs/532 > @@ -45,6 +45,10 @@ echo "Format and mount fs" > _scratch_mkfs_sized $((1024 * 1024 * 1024)) >> $seqres.full > _scratch_mount >> $seqres.full > > +# Disable realtime inherit flag (if any) on root directory so that space on data > +# device gets fragmented rather than realtime device. > +$XFS_IO_PROG -c 'chattr -t' $SCRATCH_MNT > + > bsize=$(_get_block_size $SCRATCH_MNT) > > attr_len=255 > diff --git a/tests/xfs/533 b/tests/xfs/533 > index be909fcc..dd4cb4c4 100755 > --- a/tests/xfs/533 > +++ b/tests/xfs/533 > @@ -56,6 +56,10 @@ echo "Format and mount fs" > _scratch_mkfs_sized $((1024 * 1024 * 1024)) >> $seqres.full > _scratch_mount >> $seqres.full > > +# Disable realtime inherit flag (if any) on root directory so that space on data > +# device gets fragmented rather than realtime device. > +$XFS_IO_PROG -c 'chattr -t' $SCRATCH_MNT > + > echo "Consume free space" > fillerdir=$SCRATCH_MNT/fillerdir > nr_free_blks=$(stat -f -c '%f' $SCRATCH_MNT) > diff --git a/tests/xfs/538 b/tests/xfs/538 > index 90eb1637..97273b88 100755 > --- a/tests/xfs/538 > +++ b/tests/xfs/538 > @@ -42,6 +42,10 @@ echo "Format and mount fs" > _scratch_mkfs_sized $((1024 * 1024 * 1024)) >> $seqres.full > _scratch_mount >> $seqres.full > > +# Disable realtime inherit flag (if any) on root directory so that space on data > +# device gets fragmented rather than realtime device. > +$XFS_IO_PROG -c 'chattr -t' $SCRATCH_MNT > + > bsize=$(_get_file_block_size $SCRATCH_MNT) > > echo "Consume free space" > -- > 2.29.2 >