[Top] [All Lists]

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

To: Eric Sandeen <sandeen@xxxxxxxxxxx>
Subject: Re: [PATCH] xfs/291: fix spurious ENOSPC errors
From: Dave Chinner <david@xxxxxxxxxxxxx>
Date: Thu, 23 Jan 2014 10:08:20 +1100
Cc: xfs@xxxxxxxxxxx
Delivered-to: xfs@xxxxxxxxxxx
In-reply-to: <52E03DB0.4060503@xxxxxxxxxxx>
References: <1390373205-8698-1-git-send-email-david@xxxxxxxxxxxxx> <52E03DB0.4060503@xxxxxxxxxxx>
User-agent: Mutt/1.5.21 (2010-09-15)
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@xxxxxxxxxx>
> > 
> > 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=$?

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.... :)


Dave Chinner

<Prev in Thread] Current Thread [Next in Thread>