[Unionfs] Oops when inserting rw branch with unionfs on root
filesystem
Erez Zadok
ezk at cs.sunysb.edu
Wed Mar 26 13:06:52 EDT 2008
In message <47EA283B.7070307 at expires-20080606.gate.mooo.com>, Klaus Fuerstberger writes:
> Erez Zadok said the following on 25.03.2008 22:50:
> >> I have a unionfs root filesystem. Sometimes I want to sync the unionfs
> >> changes in ram back to the CF card. This is done with rsync and ist no
> >> problem. But now I want to free the used ram of the unionfs. Mostly it
> >> works, if I simlpe delete the /ram/changes/*, but sometimes the system
> >> freezes.
>
> Answering to my own posting:
> I noticed that this *always* works fine, when I did a "mount -t unionfs
> -o remount,incgen none /" just after deleting the contents of the rw
branch with unionfs 2.2.4. With the new 2.3.1 this does not work
> anymore. More below.
>
> >> Now I thought it would be the cleanest to insert another leftmost
> >> read-write branch at highest priority and delete the old read-write
> >> branch with the used memory. This resulted in the crash below.
> >> Is there any clean method, beside a reboot, to free the used memory of
> >> the union after the rsync?
>
> This works now with 2.3.1 I'm able to insert a topleft rw branch.
> Although I'm not able to delete the old rw branch because it is mounted
> on the root filesystem and busy.
>
> But originally I wanted the following:
> #########################
> mount -t ext3 -o remount,rw /dev/hda1 /ram/rootfs
> rsync -av --exclude=/tmp/ --exclude=/ram/ --exclude=/proc/
> --exclude=/sys/ --exclude=/dev/ --delete / /ram/rootfs/
> mount -t ext3 -o remount,ro /dev/hda1 /ram/rootfs
> sync
> rm -r /ram/changes/*
> mount -t unionfs -o remount,incgen none /
> #########################
>
> As I said above, this works with unionfs 2.2.4 and kernel 2.6.24.3
>
> Now with unionfs 2.3.1 and kernel 2.6.24.4 I got this oops just after
> "rm -r /ram/changes/*". This is mostly reproducable.
>
> #########################
> alixtest login: BUG: unable to handle kernel NULL pointer dereference at
> virtual address 00000018
[...]
Do you have a livecd I can use w/ this? Or a VMware image? Otherwise, plz
send me all your scripts to reproduce this from a plain machine. I need in
particular to know when/how you're using pivot_root/chroot, etc.
BTW, I believe what you're trying to do is similar in spirit to Dave
Miller's setup: using unionfs for snapshotting and rsync'ing b/t snapshots
and bases.. Perhaps he can share his scripts with you?
Thanks,
Erez.
More information about the unionfs
mailing list