| #!/bin/sh |
| # Copyright 2010 Vertical Communications |
| # Copyright 2012 OpenWrt.org |
| # This is free software, licensed under the GNU General Public License v2. |
| # See /LICENSE for more information. |
| # |
| |
| fsck_e2fsck() { |
| set -o pipefail |
| e2fsck -p "$device" 2>&1 | logger -t "fstab: e2fsck ($device)" |
| local status="$?" |
| set +o pipefail |
| case "$status" in |
| 0|1) ;; #success |
| 2) reboot;; |
| 4) echo "e2fsck ($device): Warning! Uncorrected errors."| logger -t fstab |
| return 1 |
| ;; |
| *) echo "e2fsck ($device): Error $status. Check not complete."| logger -t fstab;; |
| esac |
| return 0 |
| } |
| |
| fsck_ext2() { |
| fsck_e2fsck "$@" |
| } |
| |
| fsck_ext3() { |
| fsck_e2fsck "$@" |
| } |
| |
| fsck_ext4() { |
| fsck_e2fsck "$@" |
| } |
| |
| append libmount_known_fsck "ext2" |
| append libmount_known_fsck "ext3" |
| append libmount_known_fsck "ext4" |