On Wed, 2007-01-17 at 22:26 +0530, Saurabh Jain (सौरभ जैन) wrote: > Hi! > > I create read-only "thin client images" and diskless boot setups quite > frequently. I have been studying UnionFS quite closely myself. I had a > choice between UnionFS, UnionFSFuse and FunionFS. I chose to try > UnionFS first. Though it is reported to be broken and badly > implemented, among the three implementations this is the one with the > maximum number of users. > > I am happy to say that after a month of testing, UnionFS works > perfectly and hasn't given a squeak. I used kernel 2.6.18 on a Fedora > Core 6 system. > > Maybe it's time to give it another look. It is such a welcome break > from watching all those mount/umount errors while bootup/shutdown. I'm not terribly inclined to revisit unionfs until it's a part of the standard kernel. Plus, for our needs a _simple_ user space implementation should be sufficient. And the FUSE implementations are very simple. [ Also note, I read somewhere that the authors of unionfs are working on a totally new implementation, so the original code base _may_ get dropped in favor of the new implementation at some point. ] unionfs-fuse isn't suitable for our needs -- I haven't been able to convince it to layer a rw directory on top of a ro directory. It truly just unions the filesystems and provides little else. funionfs is a little more attractive. We'd do something like mount --bind /etc /.etc funionfs -o dirs=/.etc=RO:/var/lib/stateless/state/etc /etc -o nonempty That would give us "writable" /etc where all the writes are redirected into /var/lib/stateless/state/etc. The odd /.etc is necessary as the mountpoint can not be the same directory as the ro or rw directories. Once we have a writable /etc we also need logging of write operations so that we know if something changed that shouldn't have changed. That should be fairly easy to add to funionfs (using the log fuse filesystem as a template). Jeff