36 lines
620 B
Bash
36 lines
620 B
Bash
#!/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
|
|
}
|
|
|