On Fri, Jun 10, 2011 at 04:25:58PM -0700, Chandra Seetharaman wrote:
> On Sat, 2011-06-11 at 07:41 +1000, Dave Chinner wrote:
> > On Fri, Jun 10, 2011 at 01:39:47PM -0700, Chandra Seetharaman wrote:
> > > Hi all,
> > >
> > > Test case 202 tries to create a single AG filesystem and runs xfs_repair
> > > on it expecting it to fail.
> > >
> > > But, when I run the test with a filesystem that is bigger than 1TB it
> > > fails (not pleasantly) since the max AG size is 1TB.
> > >
> > > I am thinking of the following solution, please let me know if there is
> > > any other elegant fix.
> > >
> > > chandra
> > > ------------------------
> > > diff --git a/202 b/202
> > > index cbdcb57..b871d8b 100755
> > > --- a/202
> > > +++ b/202
> > > @@ -42,10 +42,12 @@ _supported_os Linux
> > > _require_scratch
> > >
> > > echo "== Creating single-AG filesystem =="
> > > -_scratch_mkfs_xfs -d agcount=1 >/dev/null 2>&1
> > > +_scratch_mkfs_xfs -d agcount=1 >/dev/null 2>&1 \
> > > + || _scratch_mkfs_xfs -d agcount=1 -d size=268435455b >/dev/null 2>&1
> > > + || _fail "!!! failed to make filesystem"
> > Why the second mkfs attempt with a fixed block size?
> to see if the mkfs failed because the default filesystem size is too
The reason for the failure will be in the test output. If the tests
fail, you should be looking at the test output to find out why
> > That will
> > still fail for block size > 4k.
> Realized that. It should have been absolute.
> > All you need to do is detect the
> > first attempt failed.
> But, I didn't want the test to fail, instead want it to proceed if big
> filesystem was the reason for failure.
> By now you might have seen my response to Christoph's email. What do you
> think of that ?
I haven't seen it yet.
> > > echo "== Trying to repair it (should fail) =="
> > > -_scratch_xfs_repair
> > > +_scratch_xfs_repair && _fail "!!! xfs_repair of single AG filesystem
> > > succeeded"
> > This is not necessary - the golden image compare at the end of the
> > test will detect this succeeding when it shoul dbe failing.
> But it is not very informative about "why" the test failed. This message
> will make it clear to the user.
It's perfectly clear - the output says "should fail" and so if the
test is failed due to golden output mismatches due to repair
succeeding, it's pretty clear why the test failed.