Hello,

In linux-live scripts, I'm using aufs to join read-only branches with 
one writable branch at the top, so my setup is like the following:

/union :=
   /mnt/changes (a rw branch)
   /mnt/images/br1 (a ro branch)
   /mnt/images/br2 (a ro branch)
   /mnt/images/br3 (a ro branch)
   /mnt/images/br4 (a ro branch)
   ::
   (xino path is somewhere else, in /mnt/xino/, not in the rw branch)

During reboot, some processes which can't be killed (eg. init) are 
running from the union, (/union/sbin/init for example).

My goal is to properly save all filesystem modifications in the writable 
branch. So first I tried to cleanly unmount the union, but it's busy and 
can't be unmounted.

So, if the union can't be unmounted, I thought to remove the writable 
branch from it, using 'mount -o remount,del:/mnt/changes aufs /union'. 
Unfortunately this doesn't work either and there is no info in dmesg why 
that failed.

I think aufs thinks the branch is busy. But I believe there are no more 
open files from the writable branch, so it shouldn't fail. Using lsof 
shows that only /union/dev/initctl is open, but /union/dev is 
overmounted by tmpfs, so the file is not in fact in the union, but 
somewhere else.

Is there a possible way to find out what's wrong? How to debug why aufs 
doesn't want to delete the branch? Some kind of 'lsof' for aufs, which 
would show me what files are open on the given branch, or why the branch 
is busy.

Thank you very much for any help.

Tomas M

-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/

Reply via email to