We are pleased to announce Unionfs 2.4. This is a major new release. Therefore, we urge caution before jumping to use 2.4 just yet. If unionfs already works for you, then you might want to wait a couple of weeks for 2.4.1 or 2.4.2.
There are three major changes in this code: 1. Assorted fixes to address VFS API changes in 2.6.26/2.6.27-rc1: ->symlink, ->permission, nameidata intent flags changed, and kmem_cache_create prototype changed. 2. Extracted all whiteout related code into a separate file, and cleaned it up a lot. Now the main unionfs code calls somewhat generic functions such as "check if there's a whiteout" or "create a whiteout" and so on. Once Bharata's whiteout code makes it into -mm/mainline, it would be easy to make unionfs use filesystem-native whiteout support. Cleaning up this whiteout code was also a necessary pre-step towards the next one, lookup cleanups. 3. Reworked much of the lookup code in unionfs to ensure that we have a vfsmount at every lookup stage, esp. when crossing directories. In particular, started using vfs_path_lookup instead of lookup_one_len. These changes are a first but important step towards getting rid of all vfs_* calls within unionfs in preparation for having Miklos's path_* calls. This lookup code rework had a beneficial side effect of allowing unionfs to cross mounts and bind mounts on lower file systems (fixes bug #557). Items #2 and #3 took a long time and were quite involved, which is why there hasn't been a unionfs release in three months. In the evolution of any project, it is sometimes just necessary to step back and take the time to do a major "house cleaning". :-) Now that unionfs-2.4 is released, I expect to see a spate of smaller, more frequent releases. Anyway, there were additional bug fixes that went into unionfs-2.4: - Hugh Dickins's fsstack_copy_inode_size patch, which handles copying inode sizes more properly on 32 bit SMP systems. - slow memory leak discovered by Hugh Dickins. - unionfs can now cross bind mounts (as mentioned above) - LTP-full-20080630's rename13 regression fixed (properly expose the right inode number of hard-linked files) - several cache-coherency fixes - updated for 2.6.27-rc1, 2.6.26, 2.6.25.12, and 2.6.24.7 This code was tested on all of our ports: 2.6.{26,25,24,23,22,21,20,19,18,9} as well as -mm and 2.6.27-rc. (Note: I hadn't test it as much as I'd like on 2.6.9.) 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