We can't assume to be called from sysinit because we actually introduced the 
functions for customization. So just do it the same way as in kill_everything() 
and udevd_modprobe().
---
 functions  |   13 +++++++++----
 rc.sysinit |    4 ++--
 2 files changed, 11 insertions(+), 6 deletions(-)

diff --git a/functions b/functions
index 853a6ae..96df7d0 100644
--- a/functions
+++ b/functions
@@ -365,13 +365,15 @@ 
NETFS="nonfs,nonfs4,nosmbfs,nocifs,nocodafs,noncpfs,nosysfs,noshfs,nofuse,nofuse

 # Check local filesystems
 fsck_all() {
+       # $1 = where we are being called from.
+       # This is used to determine which hooks to run.
        FSCK_OUT=/dev/stdout
        FSCK_ERR=/dev/stdout
        FSCK_FD=
        FORCEFSCK=
        [[ -f /forcefsck ]] || in_array forcefsck $(< /proc/cmdline) && 
FORCEFSCK="-- -f"

-       run_hook sysinit_prefsck
+       run_hook "$1_prefsck"

        if [[ -x $(type -P fsck) ]]; then
                stat_busy "Checking Filesystems"
@@ -382,7 +384,7 @@ fsck_all() {
                local -r fsckret=0
        fi

-       run_hook sysinit_postfsck
+       run_hook "$1_postfsck"

        return $fsckret
 }
@@ -423,12 +425,15 @@ fsck_reboot() {
 }

 mount_all() {
-       run_hook sysinit_premount
+       # $1 = where we are being called from.
+       # This is used to determine which hooks to run.
+
+       run_hook "$1_premount"

        status "Mounting Local Filesystems" \
                mount -a -t $NETFS -O no_netdev

-       run_hook sysinit_postmount
+       run_hook "$1_postmount"
 }

 bootlogd_stop() {
diff --git a/rc.sysinit b/rc.sysinit
index 7b086fa..b6612ff 100755
--- a/rc.sysinit
+++ b/rc.sysinit
@@ -174,7 +174,7 @@ if [[ -f /etc/crypttab && $CS ]] && grep -q ^[^#] 
/etc/crypttab; then
 fi

 # Check filesystems
-fsck_all
+fsck_all sysinit
 # Single-user login and/or automatic reboot if needed
 fsck_reboot $?

@@ -193,7 +193,7 @@ if [[ ! -L /etc/mtab ]]; then
 fi

 # now mount all the local filesystems
-mount_all
+mount_all sysinit

 # enable monitoring of lvm2 groups, now that the filesystems are mounted rw
 [[ $USELVM = [Yy][Ee][Ss] && -x $(type -P lvm) && -d /sys/block ]] &&
--
1.7.1

Reply via email to