aboutsummaryrefslogtreecommitdiff
path: root/init.d/localmount
diff options
context:
space:
mode:
Diffstat (limited to 'init.d/localmount')
-rwxr-xr-xinit.d/localmount87
1 files changed, 0 insertions, 87 deletions
diff --git a/init.d/localmount b/init.d/localmount
deleted file mode 100755
index a598a712..00000000
--- a/init.d/localmount
+++ /dev/null
@@ -1,87 +0,0 @@
-#!/sbin/runscript
-# Copyright 2007-2008 Roy Marples <roy@marples.name>
-# All rights reserved. Released under the 2-clause BSD license.
-
-description="Mounts disks and swap according to /etc/fstab."
-
-depend()
-{
- need fsck
- use modules mtab
- keyword nojail
-}
-
-start()
-{
- # Mount local filesystems in /etc/fstab.
- local types="noproc" x=
- for x in ${net_fs_list}; do
- types="${types},${x}"
- done
-
- ebegin "Mounting local filesystems"
- mount -at "${types}"
- eend $? "Some local filesystem failed to mount"
-
- # Always return 0 - some local mounts may not be critical for boot
- return 0
-}
-
-stop()
-{
- # Don't unmount anything for VPS systems
- [ "${RC_SYS}" = "VPS" ] && return 0
-
- # We never unmount / or /dev or $RC_SVCDIR
- local x= no_umounts="/|/dev|/dev/.*|${RC_SVCDIR}"
-
- # RC_NO_UMOUNTS is an env var that can be set by plugins
- OIFS=${IFS} SIFS=${IFS-y}
- IFS=$IFS:
- for x in ${no_umounts} ${RC_NO_UMOUNTS}; do
- no_umounts="${no_umounts}|${x}"
- done
- if [ "${SIFS}" = "y" ]; then
- IFS=$OIFS
- else
- unset IFS
- fi
-
- if [ "${RC_UNAME}" = "Linux" ]; then
- no_umounts="${no_umounts}|/proc|/proc/.*|/sys|/sys/.*"
- fi
- no_umounts="^(${no_umounts})$"
-
- # Flush all pending disk writes now
- sync; sync
-
- # Try to unmount all tmpfs filesystems not in use, else a deadlock may
- # occure, bug #13599.
- # As $RC_SVCDIR may also be tmpfs we cd to it to lock it
- cd "${RC_SVCDIR}"
- umount -a -t tmpfs 2>/dev/null
-
- . "${RC_LIBDIR}"/sh/rc-mount.sh
-
- # Umount loopback devices
- einfo "Unmounting loopback devices"
- eindent
- do_unmount "umount -d" --skip-point-regex "${no_umounts}" \
- --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}; do
- fs="${fs}${fs:+|}${x}"
- done
- [ -n "${fs}" ] && fs="^(${fs})$"
- do_unmount "umount" --skip-point-regex "${no_umounts}" \
- ${fs:+--skip-fstype-regex} ${fs} --nonetdev
- eoutdent
-
- return 0
-}