> I've been doing some small fixing/cleanup work on the union directory> patches by Jan, and just noticed there's a thread about the union> mounts on LKML, so I thought publicizing won't hurt.> > It's still a work in progress, notably the readdir code currently only> works on a few specific filesystem types.> > Git tree is here:> > git://git.kernel.org/pub/scm/linux/kernel/git/mszeredi/vfs.git union-dir

I'm confused?

This doesn't look like the complete set of Jan Blunks union-mount patches. Am I mistaken?

On the llseek issue, I've been looking at the Overlay Filesystem (unmaintained for several years now), I ripped out a bunch of conditional compilation stuff to get a look at what was going on. The file system implements (or did at some point) a single overlayed file system view, namely the base and the overlay and so isn't general unioning. It is however, interesting because even though llseek isn't defined in the file operations of the pseudo file system it looks like it could be. It essentially uses a sub-system that exports a set of operations (which it calls a Storage Method) that provide a mapping layer between the pseudo file system (I guess that could be the VFS) and the overlayed file system(s). It has some undesirable baggage, such as its own complex list implementation, that AFAICS adds only nth element lookup functionality, which is what lead me to think of its possible use for the readdir issue.

But this also made me think about the issues surrounding whiteout support as having to add per-file system support for such things is bound to lead to a maintenance headache. So why not a well defined modular interface layer that includes these bits and is also responsible for context persistence, independent of file system?