difficult unmount-on-shutdown problem

Daniel Drake dsd at laptop.org
Wed Nov 18 06:20:55 EST 2009


On Fri, 2009-11-06 at 11:13 -0500, Michael Stone wrote:
> Here's a crazy idea for you:
> 
> In the startup sequence you mentioned, perform a lazy unmount like so:
> 
> > mount disk at /sysroot
> > chdir(/sysroot)
> > mount --move /sysroot /
> > chroot(.)
> > chdir(/)
> 
> umount("/", MNT_DETACH)  <--- hereish, I think... but please play around.
> 
> > chdir(/versions/run/<hash>)
> > chroot(.)
> > chdir(/)
> > exec(/sbin/init)
> 
> It seems plausible to me that this will result in / being unmounted when init
> and all its children are finished. (Whether the lazy unmount will cause any
> regressions remains to be seen; I don't understand its *exact* semantics well
> enough to predict in advance.)

Thanks, it didn't work, and also from looking at the kernel code in this
area it seems like this wouldn't help either.

> Other than this, I think you're going to need at least one of kernel patches, a
> long-lived child of /init forked before the second chroot(), or a new design
> for the startup sequence.

I added a kernel hack for now
and lets see if the kernel developers can help us at all
http://marc.info/?l=linux-fsdevel&m=125854272930318&w=2

Thanks
Daniel





More information about the Devel mailing list