[457] in athena10

home help back first fref pref prev next nref lref last post

Re: Login chroots and interaction with updates

daemon@ATHENA.MIT.EDU (ghudson@MIT.EDU)
Wed Aug 20 12:50:01 2008

Date: Wed, 20 Aug 2008 12:49:06 -0400 (EDT)
From: ghudson@MIT.EDU
Message-Id: <200808201649.m7KGn6oH020764@outgoing.mit.edu>
To: ghudson@mit.edu
CC: athena10@mit.edu
In-reply-to: <200808200742.m7K7gCGU025337@outgoing.mit.edu>

>  * Force-unmount the login snapshot and destroy it.

This turns out to be a snag.  There is no "force-unmount" in Linux
except as applied to unreachable NFS filesystems.  There is a "lazy
unmount" which removes the path references and completes the unmount
when the filesystem is no longer busy, but that doesn't help if we
want to destroy the backing filesystem.

So to unmount the login snapshot we first have to kill any processes
which reference it.  Killing all processes belonging to the user is a
start, but (1) it's possible for processes to be unkillable in disk
wait, and (2) the user could have started processes as root.  Both
cases should be uncommon but we have to handle them.

I guess the best approach is to kill off all processes owned by the
user, attempt the unmount, and then reboot if that fails.  The login
snapshot can then be destroyed by the PreSession hook after the
reboot.

home help back first fref pref prev next nref lref last post