#!/bin/sh /etc/rc.common # Copyright (C) 2008 OpenWrt.org # Vasilis Tsiligiannis 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|ext4) /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 }