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

Reply via email to