We are pleased to announce a major new release, Unionfs 2.3. The changes here from the previous version (2.2.4) are:
- implement a delete-all unlink policy to reduce no. of whiteouts needed - use vm_operations->fault instead of address_space operations (2.6.23+ only) - show mount point name along with incgen message (2.6.18+ only) [bug #608] - bugfix: don't copy parent inode times in ->setattr - bugfixes: lock our dentry in file operations - avoid compile conflict with the MD driver (struct path) in 2.6.{18,19} - sync data between layers for mmap'ed files [bug #609] - documentation updates: explain opaque directories - assorted minor code cleanups - updated for 2.6.25-rc6, 2.6.24.4, 2.6.23.17, and 2.6.22.19. Note that there are two major changes in this release, which is why we designate it a "major new release." 1. Unionfs now implements a "delete-all" policy. This means that if an object (e.g., a regular file) exists in multiple writable branches, unionfs will attempt to delete all instances of the same object, not just the first one it finds. This helps to reduce the total number of whiteouts that unionfs has to create, and saves on the number of inodes consumed. Of course, if a branch is marked or mounted read-only, then unionfs won't delete an object there, and only then will it fall back to creating a whiteout. Since most users use only one writable branch in the unionfs, this change will probably only a small subset of people. (Note: unionfs-odf already implements this delete-all policy, so this change here helps to synchronize the behavior of the two releases.) 2. Based on recommendations we've received while at LSF'08 last month, we've changed Unionfs to use the vm_operations->fault method, instead of address_space_operations. This makes unionfs's code smaller, runs faster, removes a number of potential racy execution paths, and also closes a couple of bugzilla bugs. This change is significant, but is only an internal implementation change: it shouldn't change any user-visible behavior. Note that this change affects unionfs releases for 2.6.23 and newer kernels only. (Plus, in the next couple of months we'll be submitting kernel patches to fix the VFS/MM so stackable file systems can support ->fault more cleanly.) This code was tested on all of our ports: 2.6.{25,24,23,22,21,20,19,18,9} as well as -mm. Although we've tested it as thoroughly as we could for the past couple of weeks, I'd recommend that if you're using Unionfs and it works for you, then wait a little bit before upgrading to 2.3. You can find links to specific releases for specific kernels in either of these URLs: <http://unionfs.filesystems.org/> <http://download.filesystems.org/unionfs/unionfs-2.x/> As usual, feel free to report all problems you find to <https://bugzilla.filesystems.org/> Enjoy. Erez, on behalf of the Unionfs team. _______________________________________________ unionfs mailing list: http://unionfs.filesystems.org/ unionfs@mail.fsl.cs.sunysb.edu http://www.fsl.cs.sunysb.edu/mailman/listinfo/unionfs