summaryrefslogtreecommitdiff
path: root/init.d/localmount.in
diff options
context:
space:
mode:
Diffstat (limited to 'init.d/localmount.in')
-rw-r--r--init.d/localmount.in112
1 files changed, 0 insertions, 112 deletions
diff --git a/init.d/localmount.in b/init.d/localmount.in
deleted file mode 100644
index 1335aa94..00000000
--- a/init.d/localmount.in
+++ /dev/null
@@ -1,112 +0,0 @@
-#!@SBINDIR@/openrc-run
-# Copyright (c) 2007-2009 Roy Marples <roy@marples.name>
-# Released under the 2-clause BSD license.
-
-description="Mounts disks and swap according to /etc/fstab."
-
-depend()
-{
- need fsck
- use lvm modules mtab
- after lvm modules
- keyword -jail -prefix -vserver -lxc
-}
-
-start()
-{
- # Mount local filesystems in /etc/fstab.
- local types="noproc" x= no_netdev=
- for x in $net_fs_list $extra_net_fs_list; do
- types="${types},no${x}"
- done
-
- if [ "$RC_UNAME" = Linux ]; then
- no_netdev="-O no_netdev"
- if mountinfo -q /usr; then
- touch "$RC_SVCDIR"/usr_premounted
- fi
- fi
- ebegin "Mounting local filesystems"
- mount -at "$types" $no_netdev
- eend $? "Some local filesystem failed to mount"
-
- # Always return 0 - some local mounts may not be critical for boot
- return 0
-}
-
-stop()
-{
- yesno $RC_GOINGDOWN || return 0
- # We never unmount / or /dev or $RC_SVCDIR
-
- # Bug 381783
- local rc_svcdir=$(printf '%s\n' "$RC_SVCDIR" | sed 's:/lib\(32\|64\)\?/:/lib(32|64)?/:g')
-
- local x= no_umounts_r="/|/dev|/dev/.*|${rc_svcdir}"
- no_umounts_r="${no_umounts_r}|/bin|/sbin|/lib(32|64)?|/libexec"
- # RC_NO_UMOUNTS is an env var that can be set by plugins
- local IFS="$IFS:"
- for x in $no_umounts $RC_NO_UMOUNTS; do
- no_umounts_r="$no_umounts_r|$x"
- done
-
- if [ "$RC_UNAME" = Linux ]; then
- no_umounts_r="$no_umounts_r|/proc|/proc/.*|/run|/sys|/sys/.*"
- if [ -e "$rc_svcdir"/usr_premounted ]; then
- no_umounts_r="$no_umounts_r|/usr"
- fi
- fi
- no_umounts_r="^($no_umounts_r)$"
-
- # Flush all pending disk writes now
- sync
-
- . "$RC_LIBEXECDIR"/sh/rc-mount.sh
-
- if [ "$RC_UNAME" = Linux ] && [ -d /sys/fs/aufs ] ; then
- #if / is aufs we remount it noxino during shutdown
- if mountinfo -q -f '^aufs$' / ; then
- mount -o remount,noxino,rw /
- sync
- fi
-
- local aufs_branch aufs_mount_dir aufs_mount_point aufs_si_dir aufs_si_id
- for aufs_si_dir in /sys/fs/aufs/*; do
- aufs_mount_dir=${aufs_si_dir#/sys/fs/aufs/}
- aufs_si_id="$(printf "%s" $aufs_mount_dir | sed 's/_/=/g')"
- aufs_mount_point="$(mountinfo -o ${aufs_si_id})"
- for x in $aufs_si_dir/br[0-9][0-9][0-9]; do
- aufs_branch=$(sed 's/=.*//g' $x)
- eindent
- if ! mount -o "remount,del:$aufs_branch" "$aufs_mount_point" > /dev/null 2>&1; then
- ewarn "Failed to remove branch $aufs_branch from aufs \
- $aufs_mount_point"
- fi
- eoutdent
- sync
- done
- done
- fi
-
- # Umount loop devices
- einfo "Unmounting loop devices"
- eindent
- do_unmount "umount -d" --skip-point-regex "$no_umounts_r" \
- --node-regex "^/dev/loop"
- eoutdent
-
- # Now everything else, except network filesystems as the
- # network should be down by this point.
- einfo "Unmounting filesystems"
- eindent
- local fs=
- for x in $net_fs_list $extra_net_fs_list; do
- fs="$fs${fs:+|}$x"
- done
- [ -n "$fs" ] && fs="^($fs)$"
- do_unmount umount --skip-point-regex "$no_umounts_r" \
- "${fs:+--skip-fstype-regex}" $fs --nonetdev
- eoutdent
-
- return 0
-}