Re: Union file system

Werner Almesberger (
Fri, 29 Nov 1996 15:12:56 +0100 (MET)

Alan Cox wrote:
> Sounds like IFS. Im not sure what happened to IFS however.

Well, I completed it to the point where it was a nice proof of concept, but
still with problems (leaks inodes, probably has a few races left, was also
a bit too liberal with locking, etc.).

Then I looked back at what I did and was disgusted by its complexity. So I
decided that, before I might even consider proposing inclusion into the
mainstream kernel, I'd have to see how much poorer (performance-wise) a
user-space implementation would be. I did some initial hacking on NFS until
I convinced myself that userfs might be the better approach. Unfortunately,
I never found the time to work on that.

I also noticed that amd should have some functionality that provides at
least a subset of what IFS could do (you can quite easily apply the concept
of IFS to caching, CD-ROM "writing", storage management, etc.), although I
never actually tried that part.

By the way, IFS (Inheriting File System) was indeed inspired by Sun's TFS
(Translucent File System). The main difference between the two is that IFS
allows the stack of file systems to be arbitrarily large, while TFS can
only stack two file systems.

If I had time to work on it today, I'd probably go for a mixed kernel/user
space approach: do all the bookkeeping and special cases (device files,
named pipes, etc.) in user space, but keep data transfers in the kernel.
I'd also investigate into the direction of COW semantics for disk blocks in
order to reduce the cost of changing a few bytes of or appending to a
"read-only" file.

Sounds like a very nice master's thesis topic for some good Linux
hacker ;-)

- Werner

 / Werner Almesberger, DI-LRC,EPFL,CH /