summaryrefslogtreecommitdiffstats
path: root/etc/rc.d/fsck
diff options
context:
space:
mode:
authorobrien <obrien@FreeBSD.org>2001-06-16 07:16:14 +0000
committerobrien <obrien@FreeBSD.org>2001-06-16 07:16:14 +0000
commit04a12c6e39399ae6419ccf2d6d3c9406513efeba (patch)
tree06ace61853aeed77ccace8195154f50a0ea686fc /etc/rc.d/fsck
parent4d3fc79b76a16eb2429bcf457e7e24c622d434c1 (diff)
parentafad76ee76d3a58cf84a1bc6fb12c55552bc5563 (diff)
downloadFreeBSD-src-04a12c6e39399ae6419ccf2d6d3c9406513efeba.zip
FreeBSD-src-04a12c6e39399ae6419ccf2d6d3c9406513efeba.tar.gz
This commit was generated by cvs2svn to compensate for changes in r78344,
which included commits to RCS files with non-trunk default branches.
Diffstat (limited to 'etc/rc.d/fsck')
-rwxr-xr-xetc/rc.d/fsck68
1 files changed, 68 insertions, 0 deletions
diff --git a/etc/rc.d/fsck b/etc/rc.d/fsck
new file mode 100755
index 0000000..ddd4302
--- /dev/null
+++ b/etc/rc.d/fsck
@@ -0,0 +1,68 @@
+#!/bin/sh
+#
+# $NetBSD$
+#
+
+# PROVIDE: fsck
+# REQUIRE: localswap
+
+. /etc/rc.subr
+
+name="fsck"
+start_cmd="fsck_start"
+stop_cmd=":"
+
+stop_boot()
+{
+ # Terminate the process (which may include the parent /etc/rc)
+ # if booting directly to multiuser mode.
+ #
+ if [ "$autoboot" = yes ]; then
+ kill -TERM $$
+ fi
+ exit 1
+}
+
+fsck_start()
+{
+ if [ -e /fastboot ]; then
+ echo "Fast boot: skipping disk checks."
+ elif [ "$autoboot" = yes ]; then
+ # During fsck ignore SIGQUIT
+ trap : 3
+
+ echo "Automatic boot in progress: starting file system checks."
+ fsck -p
+ case $? in
+ 0)
+ ;;
+ 2)
+ stop_boot
+ ;;
+ 4)
+ echo "Rebooting..."
+ reboot
+ echo "Reboot failed; help!"
+ stop_boot
+ ;;
+ 8)
+ echo "Automatic file system check failed; help!"
+ stop_boot
+ ;;
+ 12)
+ echo "Boot interrupted."
+ stop_boot
+ ;;
+ 130)
+ stop_boot
+ ;;
+ *)
+ echo "Unknown error; help!"
+ stop_boot
+ ;;
+ esac
+ fi
+}
+
+load_rc_config $name
+run_rc_command "$1"
OpenPOWER on IntegriCloud