]> git.pld-linux.org Git - projects/rc-scripts.git/blobdiff - rc.d/rc.shutdown
Skip cgroup/cgroup2 fs, too.
[projects/rc-scripts.git] / rc.d / rc.shutdown
index 39498765acbd3a3b3305081692c72bb4188de51e..a3807dd79595195fb1053782b646b58892fa3a62 100755 (executable)
@@ -4,7 +4,6 @@
 #
 # Author:      Miquel van Smoorenburg, <miquels@drinkel.nl.mugnet.org>
 #
-# $Id$
 
 # Set the path.
 PATH=/sbin:/bin:/usr/bin:/usr/sbin
@@ -20,10 +19,6 @@ IN_SHUTDOWN=yes
 trap "echo" INT SEGV QUIT TERM
 set +e
 
-emit pld.shutdown-started
-emit starting JOB=shutdown
-emit started JOB=shutdown
-
 rc_splash "reboot"
 
 # Kill all processes.
@@ -82,12 +77,12 @@ if ! is_yes "$VSERVER"; then
                UMOUNT_IGNORE="/ $UMOUNT_IGNORE"
        fi
        remaining=$(awk -v ig="^($UMOUNT_IGNORE)$" 'BEGIN { gsub(/[\t ]+/, "|", ig); } \
-                       $3 !~ /^(proc|loopfs|devpts|devtmpfs|shm|iso9660|ramfs|tmpfs|sysfs|securityfs|squashfs)$/ \
+                       $3 !~ /^(proc|loopfs|devpts|devtmpfs|shm|iso9660|ramfs|tmpfs|cgroup|cgroup2|sysfs|securityfs|squashfs)$/ \
                        && $1 !~ /^(none|\/dev\/root)$/ \
                        && $2 !~ ig {print $2}' /proc/mounts)
        while [ -n "$remaining" -a "$retry" -gt 0 ]; do
                show "Unmounting file systems"; busy
-               ERRORS=$(umount -a $force -t noproc 2>&1); rc=$?
+               ERRORS=$(umount -a $force -t noproc,nosysfs 2>&1); rc=$?
 
                # we might had unmounted /usr, recheck $TPUT availability
                # but well. we need tput only for show() and busy() (ok() and fail() messages are already cached)
@@ -106,7 +101,7 @@ if ! is_yes "$VSERVER"; then
 
                sleep 2
                remaining=$(awk -v ig="^($UMOUNT_IGNORE)$" 'BEGIN { gsub(/[\t ]+/, "|", ig); } \
-                               $3 !~ /^(proc|loopfs|devpts|devtmpfs|shm|iso9660|ramfs|tmpfs|sysfs|securityfs|squashfs)$/ \
+                               $3 !~ /^(proc|loopfs|devpts|devtmpfs|shm|iso9660|ramfs|tmpfs|cgroup|cgroup2|sysfs|securityfs|squashfs)$/ \
                                && $1 !~ /^(none|\/dev\/root)$/ \
                                && $2 !~ ig {print $2}' /proc/mounts)
                [ -z "$remaining" ] && break
@@ -122,7 +117,7 @@ if ! is_yes "$VSERVER"; then
        if [ -x /sbin/vgchange ]; then
                lvmversion=$(LC_ALL=C /sbin/vgchange --version 2>/dev/null | awk '/LVM version:/{if ($3 >= 2) print "2"}')
                if [ "$lvmversion" = "2" ]; then
-                       lvmsysinit="--sysinit"
+                       lvmsysinit="--sysinit --noudevsync"
                else
                        lvmsysinit=""
                fi
@@ -179,10 +174,6 @@ else
                show "On the next boot fsck will be skipped."; ok
        fi
 
-       # not really sure where thse events should go
-       emit stopped JOB=shutdown
-       emit stopping JOB=shutdown
-
        if [ -x /sbin/kexec ] && [ "$kexec_loaded" = "1" ]; then
                show "Will now restart with kexec"
                /sbin/kexec -e
This page took 0.035877 seconds and 4 git commands to generate.