[arch-projects] [PATCH 2/2] swapoff: umount swap-backed fs before switching off swap
Tom Gundersen
teg at jklm.no
Sat Oct 29 18:00:09 EDT 2011
Factor out umounting. Explicitly skip umounting API directories, rather
than matching on fs type. This allows us to e.g. unmount all tmpfs but leaving
/run and /dev/shm alone.
Signed-off-by: Tom Gundersen <teg at jklm.no>
---
functions | 6 ++++++
rc.shutdown | 9 ++++-----
2 files changed, 10 insertions(+), 5 deletions(-)
diff --git a/functions b/functions
index 05d8f56..47146ea 100644
--- a/functions
+++ b/functions
@@ -460,6 +460,12 @@ mount_all() {
mount -a -t "nosysfs,no${NETFS//,/,no}" -O no_netdev
}
+umount_all() {
+ # $1: restrict to fstype
+ umount `mount | grep -e "^\(${1}\)" | awk '{ print $3 }' | grep -v -e "^/\(proc\|sys\|dev\|run\)" | sort -r` \
+ -O no_netdev -r
+}
+
remove_leftover() {
stat_busy "Removing Leftover Files"
# handle this separately until we declare the non-symlinks obsoleted
diff --git a/rc.shutdown b/rc.shutdown
index 1946068..c042948 100755
--- a/rc.shutdown
+++ b/rc.shutdown
@@ -50,16 +50,15 @@ kill_all
run_hook shutdown_postkillall
-# TODO: unmount any non-api partitions that are backed by swap, we don't want to
-# move their contents into memory (waste of time and might caues OOM).
+# unmount any non-api partitions that are backed by swap, we don't want to
+# move their contents into memory (waste of time and might caues OOM).
+status "Unmounting Swap-backed Filesystems" umount_all "tmpfs\|ramfs"
# almost everything is dead now, so the swap should hopefully be relatively
# empty, and quick to switch off
status "Deactivating Swap" swapoff -a
-# if we don't have devtmpfs support, /dev is mounted as tmpfs, so don't unmount it
-status "Unmounting Filesystems" \
- umount -a -r -t nodevtmpfs,notmpfs,nosysfs,noproc,nodevpts -O no_netdev
+status "Unmounting Non-API Filesystems" umount_all
run_hook shutdown_postumount
--
1.7.7.1
More information about the arch-projects
mailing list