Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 10 Mar 2005 14:01:20 -0500
From:      Erez Zadok <ezk@cs.sunysb.edu>
To:        Jeremie Le Hen <jeremie@le-hen.org>
Cc:        Mikhail Teterin <mi+mx@aldan.algebra.com>
Subject:   Re: the current status of nullfs, unionfs 
Message-ID:  <200503101901.j2AJ1Kgw008863@agora.fsl.cs.sunysb.edu>
In-Reply-To: Your message of "Thu, 10 Mar 2005 12:38:43 %2B0100." <20050310113843.GJ34822@obiwan.tataz.chchile.org> 

next in thread | previous in thread | raw e-mail | index | archive | help
In message <20050310113843.GJ34822@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.



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200503101901.j2AJ1Kgw008863>