From owner-freebsd-fs@FreeBSD.ORG Thu Mar 10 19:01:30 2005 Return-Path: Delivered-To: freebsd-fs@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 9CBE916A4CE; Thu, 10 Mar 2005 19:01:30 +0000 (GMT) Received: from filer.fsl.cs.sunysb.edu (filer.fsl.cs.sunysb.edu [130.245.126.2]) by mx1.FreeBSD.org (Postfix) with ESMTP id 052A943D5C; Thu, 10 Mar 2005 19:01:30 +0000 (GMT) (envelope-from ezk@fsl.cs.sunysb.edu) Received: from agora.fsl.cs.sunysb.edu (agora.fsl.cs.sunysb.edu [130.245.126.12])j2AJ1LmX019476; Thu, 10 Mar 2005 14:01:21 -0500 Received: from agora.fsl.cs.sunysb.edu (localhost.localdomain [127.0.0.1]) j2AJ1KwD008867; Thu, 10 Mar 2005 14:01:20 -0500 Received: (from ezk@localhost) by agora.fsl.cs.sunysb.edu (8.12.11/8.12.8/Submit) id j2AJ1Kgw008863; Thu, 10 Mar 2005 14:01:20 -0500 Date: Thu, 10 Mar 2005 14:01:20 -0500 Message-Id: <200503101901.j2AJ1Kgw008863@agora.fsl.cs.sunysb.edu> From: Erez Zadok To: Jeremie Le Hen In-reply-to: Your message of "Thu, 10 Mar 2005 12:38:43 +0100." <20050310113843.GJ34822@obiwan.tataz.chchile.org> X-MailKey: Erez_Zadok cc: freebsd-fs@freebsd.org cc: David Schultz cc: hackers@freebsd.org cc: Mikhail Teterin Subject: Re: the current status of nullfs, unionfs X-BeenThere: freebsd-fs@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Filesystems List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 10 Mar 2005 19:01:30 -0000 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.