On Thu, Oct 28, 2021 at 9:44 PM Carl Karsten <carl@xxxxxxxxxxxxxxxx> wrote: > > bumping into this again, and now I have more stable .. thing. > > my stack of dirs: > base - copy of files from raspios-buster-armhf-lite.img > setup - config files my setup adds > updates - apt update/upgrade > play - random things I am testing > > work - overlayfs working dir > merged - overlayfs mount point > > I cp files in base and setup, > mount base setup updates play on mounted > write some files into mounted > > Now I want to undo: > rm play work merged > mkdir play work merged > mount... > error Stale file handle. You are not allowed to re-create lower dir when using nfs_expoprt. If you re-create/replace/rearrange any of the lower dirs, you need to also re-create the upperdir. > > juser@negk:~$ sudo ./test.sh > + rm -rf /srv/nfs/rpi/buster/boot/play /srv/nfs/rpi/buster/boot/work > /srv/nfs/rpi/buster/boot/merged > + mkdir /srv/nfs/rpi/buster/boot/play /srv/nfs/rpi/buster/boot/work > /srv/nfs/rpi/buster/boot/merged > + mount -t overlay overlay -o > nfs_export=on,lowerdir=/srv/nfs/rpi/buster/boot/base:/srv/nfs/rpi/buster/boot/setup,upperdir=/srv/nfs/rpi/buster/boot/updates,workdir=/srv/nfs/rpi/buster/boot/work is ../boot/base/ supposed to be the uppermost lower layer. It's name and you description above sounds like it should be the bottom most layer, but you stacked ../boot/setup below it. > /srv/nfs/rpi/buster/boot/merged > mount: /srv/nfs/rpi/buster/boot/merged: mount(2) system call failed: > Stale file handle. > [ 1602.271239] overlayfs: failed to verify origin (boot/base, > ino=4194652, err=-116) > [ 1602.271244] overlayfs: failed to verify upper root origin > translation: boot/base is not the directory that used to be right below boot/updates. I guess you meant boot/setup to be on top of boot/base? Thanks, Amir.