tags 252059 + patch
thanks

I believe this patch should solve the issue, by splitting umountfs in
two, making sure the umountfs script umount everything except /, and
inserting umountroot after 50lvm (picked 60umountroot fairly
randomly).

It is partly based on the patch from Markus Nass in bug #319890, but I
believe it is less intrusive (avoid editing mtab, do not add a config
file, and do not run bootclean in umountfs.

diff -urN sysvinit-2.86.ds1/debian/initscripts/etc/init.d/umountfs 
sysvinit-2.86.ds1-pere/debian/initscripts/etc/init.d/umountfs
--- sysvinit-2.86.ds1/debian/initscripts/etc/init.d/umountfs    2005-09-03 
15:00:54.000000000 +0200
+++ sysvinit-2.86.ds1-pere/debian/initscripts/etc/init.d/umountfs       
2005-09-03 17:08:07.537229907 +0200
@@ -2,24 +2,32 @@
 #
 # umountfs     Turn off swap and unmount all local file systems.
 #
-# Version:      @(#)umountfs  2.85-16  03-Jun-2004  [EMAIL PROTECTED]
+# Version:      @(#)umountfs  2.85-17  03-Sep-2005  [EMAIL PROTECTED]
+#               Modified by Petter Reinholdtsen <[EMAIL PROTECTED]>
 #
 
 PATH=/sbin:/bin:/usr/sbin:/usr/bin
+umask 022
 
 echo -n "Deactivating swap..."
 umount -ttmpfs -a -r
 swapoff -a
 echo "done."
 
-#
-#      Umount all filesystems except the virtual ones.
-#
-echo -n "Unmounting local filesystems..."
-umount -tnoproc,noprocfs,nodevfs,nosysfs,nousbfs,nousbdevfs,nodevpts -d -a -r
-echo "done."
-
-# This is superfluous.
-mount -n -o remount,ro /
+# Umount all filesystems except root and the virtual ones
+echo "Unmounting local filesystems..."
 
+# List all mounts, deepest mount point first
+mount | LANG=C sort -r -k 3 | while read dev x mntpath x type x ; do
+    case $type in 
+       proc|procfs|devfs|sysfs|usbfs|usbdevfs|devpts|tmpfs)
+           ;; # Ignoreing virtual file systems
+       *)
+           [ "/" = "$mntpath" ] && continue # root is umounted in umountroot
+           echo -n "  umounting $mntpath..."
+           umount mntpath
+           echo "done."
+           ;;
+    esac
+done
 : exit 0
diff -urN sysvinit-2.86.ds1/debian/initscripts/etc/init.d/umountroot 
sysvinit-2.86.ds1-pere/debian/initscripts/etc/init.d/umountroot
--- sysvinit-2.86.ds1/debian/initscripts/etc/init.d/umountroot  1970-01-01 
01:00:00.000000000 +0100
+++ sysvinit-2.86.ds1-pere/debian/initscripts/etc/init.d/umountroot     
2005-09-03 17:08:52.753821357 +0200
@@ -0,0 +1,18 @@
+#! /bin/sh
+#
+# /etc/init.d/umountroot
+#
+# v 0.1, localtime: 2005/07/06 19:00 CEST
+#
+# Mount the root filesystem read-only.
+#
+# Written by Markus Nass <[EMAIL PROTECTED]>
+#
+
+PATH=/sbin:/bin
+
+echo -n "Mounting root filesystem read-only..."
+mount -n -o remount,ro /
+echo "done."
+
+: exit 0
diff -urN sysvinit-2.86.ds1/debian/initscripts/postinst 
sysvinit-2.86.ds1-pere/debi
an/initscripts/postinst
--- sysvinit-2.86.ds1/debian/initscripts/postinst       2005-09-03 
15:00:54.000000
000 +0200
+++ sysvinit-2.86.ds1-pere/debian/initscripts/postinst  2005-09-03 
17:14:52.869710
591 +0200
@@ -146,6 +146,7 @@
 updatercd sendsigs     start 20 0 6 .
 updatercd umountnfs.sh start 31 0 6 .
 updatercd umountfs     start 40 0 6 .
+updatercd umountroot   start 60 0 6 .
 updatercd halt         start 90 0 .
 updatercd reboot       start 90 6 .
 updatercd rmnologin    start 99 2 3 4 5 .


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

Reply via email to