Re: [PATCH] xfs/291: fix spurious ENOSPC errors

Dave Chinner
2014-01-22T23:10:51Z

On Wed, Jan 22, 2014 at 03:52:48PM -0600, Eric Sandeen wrote:
> On 1/22/14, 12:46 AM, Dave Chinner wrote:
> > From: Dave Chinner <dchinner@redhat.com>
> >
> > xfs/291 tries to fill the filesystem almost full, so if the log size
> > changes with mkfs defaults then it's free space calculations are not
> > longer valid and so it throws lots of ENOSPC errors during a run.
> > This is not fatal for this test, but it does increase the runtime of
> > it and fill the 291.full file with unnecessary errors.
>
> Hm so you've set the log size to 5m (-l size=5m) but how does that
> interact with any "-l size=XXX" set in MKFS_OPTS ?

see _scratch_mkfs_xfs:

# a mkfs failure may be caused by conflicts between
# $MKFS_OPTIONS and $extra_mkfs_options
if [ $mkfs_status -ne 0 -a ! -z "$extra_mkfs_options" ]; then
(
echo -n "** mkfs failed with extra mkfs options "
echo "added to \"$MKFS_OPTIONS\" by test $seq **"
echo -n "** attempting to mkfs using only test $seq "
echo "options: $extra_mkfs_options **"
) >> $seqres.full

# running mkfs again. overwrite previous mkfs output files
_scratch_mkfs_xfs_opts $extra_mkfs_options \
2>$tmp_dir.mkfserr 1>$tmp_dir.mkfsstd
local mkfs_status=$?
fi

So, it will drop the MKFS_OPTIONS and just use the test specific
options if there is a conflict/failure.

> (It's certainly no worse than what I had in my original test; I just
> wonder if we should ignore MKFS_OPTS altogether in this test, and
> completely manually specify all options?)

That's effectively what it already does automatically.... :)

Cheers,

Dave.
--
Dave Chinner
david@fromorbit.com