Re: [PATCH 3/5] generic/449: always fill up the data device

Darrick J. Wong
2021-04-29T00:39:20Z

On Wed, Apr 28, 2021 at 01:47:33PM -0400, Brian Foster wrote:
> On Tue, Apr 27, 2021 at 09:09:12PM -0700, Darrick J. Wong wrote:
> > From: Darrick J. Wong <djwong@kernel.org>
> >
> > This is yet another one of those tests that looks at what happens when
> > we run out of space for more metadata (in this case, xattrs). Make sure
> > that the 256M we write to the file to try to stimulate ENOSPC gets
> > written to the same place that xfs puts xattr data -- the data device.
> >
> > Signed-off-by: Darrick J. Wong <djwong@kernel.org>
> > ---
> > tests/generic/449 | 5 +++++
> > 1 file changed, 5 insertions(+)
> >
> >
> > diff --git a/tests/generic/449 b/tests/generic/449
> > index a2d882df..5fd15367 100755
> > --- a/tests/generic/449
> > +++ b/tests/generic/449
> > @@ -43,6 +43,11 @@ _require_attrs trusted
> > _scratch_mkfs_sized $((256 * 1024 * 1024)) >> $seqres.full 2>&1
> > _scratch_mount || _fail "mount failed"
> >
> > +# This is a test of xattr behavior when we run out of disk space for xattrs,
> > +# so make sure the pwrite goes to the data device and not the rt volume.
> > +test "$FSTYP" = "xfs" && \
> > + $XFS_IO_PROG -c 'chattr -t' $SCRATCH_MNT
> > +
>
> This seems like the type of thing we'll consistently be playing
> whack-a-mole with unless we come up with a better way to manage it. I'm
> not sure what the solution for that is though, so:

I don't know either, sadly. Most of the culprits are either
xfs-specific tests that fiddle with the disk format, or ENOSPC testers
that rely on data writes using the same space manager as metadata, or
vice versa.

--D

> Reviewed-by: Brian Foster <bfoster@redhat.com>
>
> > TFILE=$SCRATCH_MNT/testfile.$seq
> >
> > # Create the test file and choose its permissions
> >
>