On Sat, May 03, 2014 at 09:48:31AM +1000, Dave Chinner wrote:
> On Fri, May 02, 2014 at 01:13:57PM -0400, Brian Foster wrote:
> > Hi all,
> > This series is a few xfstests fixes and addons for the finobt. Patch 1
> > fixes xfs/030 to work correctly on finobt-enabled filesystems. Patches 2
> > and 3 add support for finobt-oriented tests via require functions and
> > repair filter updates. Patch 4 adds a new test for targeted repair of
> > finobt filesystems. Patch 5 adds a stress test that creates/modifies a
> > sparsely allocated set of inodes to effectively exercise the finobt in
> > conjunction with an fsstress workload.
> > xfs/010 runs very quickly. xfs/013 runs for 5-10 minutes on my smallish
> > VM running against a single spindle, so I've been back and forth on
> > whether it should be part of the auto group. Thoughts, reviews, flames
> > appreciated...
> 5-10 minutes is probably right at the edge for auto, but I think
> that most people won't be testing this any time soon. Hence I'd
> include it by default in the auto group, and if people complain
> about the runtime when they start testing it, we can revist that
> choice. FWIW, I'd also include it in the metadata group so that it
> gets exercised when people run that group....
Ok, sounds good. It actually runs closer to 5 minutes than 10 when I
simply move to a separate (still single) spindle, so it's probably not
that bad. IIRC, it's still probably not the longest running test I've
seen in auto. I believe you have an SSD test setup, so I'm curious how
the workload looks if you get a a chance to run it there. :)
> I had a quick eyeball of the changes, and nothing major stood out.
> The only thing I noticed was a missing "wait" in the _cleanup
> function of xfs/013 after killing all the fsstress processes. It
> should probably using killall -9 as well. If we don't wait, then the
> unmount will fail and if the fsstress processes don't die it will
> affect every test after that...
> I'll probably have more suggestions once I've run the tests ;)
Ok. FWIW, the parameters of the stress test (# files, # iters, etc.)
were mostly determined empirically to provide a good workout for the
finobt in a reasonable amount of time. The test started out as open
coded for loops to do linking and random new creations, but that turned
out far too slow when tuned to be effective. The hard link cp and
smaller file replacement loop after the fact turned out to be much
faster. fsstress was added after that as it appeared to amplify the
operations on the finobt without adding too much time to the test. Any
thoughts on the parameters or broader test(s) are appreciated...
> Dave Chinner