the current status of nullfs, unionfs
Erez Zadok
ezk at cs.sunysb.edu
Thu Mar 10 19:01:30 GMT 2005
In message <20050310113843.GJ34822 at obiwan.tataz.chchile.org>, Jeremie Le Hen writes:
> A little time ago, phk@ asked for people to submit regression tests for
> virtual filesystem like this [1]. AFAIK, nobody submitted even one test
> so far. This could be a good starting point to have unionfs work
> correctly again. However, I think FreeBSD VFS gurus should first spread
> some ideas and clues about tests to do. I guess indeed there are very
> tricky ones that most common mortals wouldn't even suspect.
I fully agree that a regression suite is needed. Since my group develops a
lot of file systems, we have been doing two new things in the past year:
1. We've extracted a subset of the VSX-PCTS posix test suite that just deals
with file systems related system calls, and made some changes to it to
make it easier to test an arbitrary file system (the package had all
sorts of hard-coded assumptions). We've been running it for more than 2
months now and caught dozens of bugs in our file systems, which we're
fixing nowadays.
Note: in the past, we've used postmark, fsx, bonnie, large compiles, and
more as ways of testing file systems' stability; but the posix test suite
was able to catch lots of corner cases more directly that none of these
other packages could.
I fully intend to make this re-packaged VSX-PCTS tool available publicly.
And I wholeheartedly recommend it to anyone who develops or maintains
file systems.
2. Unionfs has different semantics than regular file systems. As Charles
said in his email, unionfs *seems* easy conceptually (we thought so too),
but the devil is in the details. It's much harder in practice to deal
with all of the unusual border cases and semantic ambiguities that
unioning introduces. So, we've begun building a unionfs-specific
regression test suite, which we continue to enhance and release together
with our unionfs sources. Examples of tests we try is mixes of readonly
and write branches, forcing conditions that will result in copy-ups and
whiteouts, etc. Although our test suite is specific to our linux
implementation, conceptually both the bsd and linux unionfs's are the
same, and so the test suite we have could be easily adapted to suite
freebsd's needs.
Anyone can download our unionfs software and the testsuite within from
here:
http://www.filesystems.org/project-unionfs.html
You may consider it the first ever response to phk's request. :-)
Cheers,
Erez.
More information about the freebsd-fs
mailing list