diff options
Diffstat (limited to 'package/e2fsprogs/files/e2fsck.init')
-rw-r--r-- | package/e2fsprogs/files/e2fsck.init | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/package/e2fsprogs/files/e2fsck.init b/package/e2fsprogs/files/e2fsck.init new file mode 100644 index 0000000000..e66750c910 --- /dev/null +++ b/package/e2fsprogs/files/e2fsck.init @@ -0,0 +1,35 @@ +#!/bin/sh /etc/rc.common +# Copyright (C) 2008 OpenWrt.org +# Vasilis Tsiligiannis <acinonyxs@yahoo.gr> + +START=15 + +e2fsck() { + local args + local cfg="$1" + + config_get device "$cfg" device + [ -b "$device" ] || return 0 + + config_get fstype "$cfg" fstype + case "$fstype" in + ext2|ext3) + /usr/sbin/e2fsck -p "$device" + local status="$?" + case "$status" in + 0|1) continue;; + 2) reboot;; + 4) echo "e2fsck ($device): Warning! Uncorrected errors.";; + *) echo "e2fsck ($device): Error $status. Check not complete.";; + esac + ;; + *) + ;; + esac +} + +start() { + config_load fstab + config_foreach e2fsck mount +} + |