Over the years with Puppy Linux I have gone backwards and forwards
between using Aufs and Unionfs.

They each have advantages and disadvantages, but Unionfs has two major
advantages that make me prefer it. The problem is that we have had
ongoing stability issues with Unionfs and the developers are extremely
slow to fix them.

That was the reason for my last move from Unionfs to Aufs. However,
for the latest experiments with the 2.6.33.x kernel we are once again
playing with Unionfs.

I need to explain why I want to use Unionfs, if it is stable, rather than Aufs.

We have been discussing these reasons on my blog:

http://bkhome.org/blog/?viewDetailed=01440

Now, it may be that these two things can be done in Aufs, but I don't know how:

First reason
Puppy Linux has the layers (branches) with basically the r/w "save
file" or "save partition" on top, the main Puppy f.s. below as a r/o
Squashfs file (what we call a SFS file), and optionally more SFS files
as layers below that -- for example a complete c/c++ development
environment, or OpenOffice.

If we have a "save partition" on top, we also have the SFS files in
that partition. Aufs will refuse to mount those SFS files as they are
already inside a branch. Consequently, we are forced to copy the main
SFS file into RAM and mount it from there. However, Unionfs is quite
happy with mounting SFS files that are actually present in another
branch.

Second reason
Both Unionfs and Aufs have mechanisms for detecting direct writes to
branches, however they are not perfect. Unless, in the case of Aufs
you go for the mode using inotify, but that has performance penalty.

When running Puppy from Flash memory, we have the top branch as a
tmpfs in RAM, and the "save file" or "save partition" below that. This
is done to minimise writes to the Flash memory. When a package is
installed, we would like to be able to install it directly to the
"save" layer, the actual Flash memory and have all the files visible
on top.

Our package installer recognises if Unionfs is being used and is able
to write direct to the "save" layer, and then is able to do a perfect
operation to make all files visible on top by doing this:

mount -t unionfs -o remount,incgen unionfs /

...this flushes the caches and does a complete re-evaluation of the
layers. As far as I know, Aufs does not have the equivalent.

Regards,
Barry Kauler

------------------------------------------------------------------------------
Download Intel® Parallel Studio Eval
Try the new software tools for yourself. Speed compiling, find bugs
proactively, and fine-tune applications for parallel performance.
See why Intel Parallel Studio got high marks during beta.
http://p.sf.net/sfu/intel-sw-dev

Reply via email to