[23847] in Source-Commits

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

/svn/athena r23458 - trunk/debathena/config/reactivate/debian

daemon@ATHENA.MIT.EDU (rbasch@MIT.EDU)
Sat Feb 7 19:04:24 2009

Date: Sat, 7 Feb 2009 19:04:16 -0500 (EST)
From: rbasch@MIT.EDU
Message-Id: <200902080004.TAA21643@drugstore.mit.edu>
To: source-commits@MIT.EDU
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Author: rbasch
Date: 2009-02-07 19:04:16 -0500 (Sat, 07 Feb 2009)
New Revision: 23458

Modified:
   trunk/debathena/config/reactivate/debian/athena-login-snapshot
   trunk/debathena/config/reactivate/debian/changelog
Log:
In reactivate:
  * Try to kill remaining user processes using any of the login
    chroot's bind mounts at session end.
  * Don't die upon failure to umount any of the bind mounts at
    session end; this should force a reboot after the umount of
    the chroot mountpoint fails.


Modified: trunk/debathena/config/reactivate/debian/athena-login-snapshot
===================================================================
--- trunk/debathena/config/reactivate/debian/athena-login-snapshot	2009-02-07 22:26:09 UTC (rev 23457)
+++ trunk/debathena/config/reactivate/debian/athena-login-snapshot	2009-02-08 00:04:16 UTC (rev 23458)
@@ -99,13 +99,22 @@
     ;;
 
   login-end)
-    # Clean up any processes using the mountpoint.
+    # Clean up any remaining user processes using the bind mounts.
+    if [ -n "$USER" -a "$USER" != root ]; then
+      for dir in $binddirs; do
+        su -s /bin/sh "$USER" -c "fuser -km /login$dir" > /dev/null || true
+      done
+    fi
+
+    # Clean up any processes using the chroot mountpoint.
     fuser -km /login > /dev/null || true
     sleep 2
 
     # Clean up the bind mounts we made earlier.
+    # If any of these fail, the umount of /login will fail below,
+    # and we will reboot.
     for dir in $binddirs; do
-      umount "/login$dir"
+      umount "/login$dir" || true
     done
 
     # Attempt to unmount /login.

Modified: trunk/debathena/config/reactivate/debian/changelog
===================================================================
--- trunk/debathena/config/reactivate/debian/changelog	2009-02-07 22:26:09 UTC (rev 23457)
+++ trunk/debathena/config/reactivate/debian/changelog	2009-02-08 00:04:16 UTC (rev 23458)
@@ -1,3 +1,13 @@
+debathena-reactivate (1.8) unstable; urgency=low
+
+  * Try to kill remaining user processes using any of the login
+    chroot's bind mounts at session end.
+  * Don't die upon failure to umount any of the bind mounts at
+    session end; this should force a reboot after the umount of
+    the chroot mountpoint fails.
+
+ -- Robert Basch <rbasch@mit.edu>  Sat, 07 Feb 2009 18:38:45 -0500
+
 debathena-reactivate (1.7) unstable; urgency=low
 
   * Configure locate's cron job to not walk /login.


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