[Unionfs] [ANNOUNCE] Unionfs 2.4 released
Erez Zadok
ezk at cs.sunysb.edu
Tue Jul 29 22:31:28 EDT 2008
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.
More information about the unionfs
mailing list