Union mounts trundles along. The good news is that I got a code review from Al Viro. The bad news is that I have to implement all his comments. :)
This release implements two major changes, which make union mounts much simpler and cleaner. First, we drastically simplify the union stack for a directory. It is now a singly linked list rooted in the dentry of the topmost directory, instead of a set of path -> path mappings kept in a hash table. The union hash table lookup routines have gone away, along with most of struct union_dir. Second, on union mount, we clone the underlying read-only mounts and keep them in a list hanging off the superblock of the topmost file system. This lets us move the union mount around as a single unit.
Next up is a rewrite of user_path_nd() and the code surrounding it that copies up files during chmod()/etc.