2010-02-27 00:45:39 +02:00
|
|
|
#!/bin/sh
|
|
|
|
# Copyright 2010 Vertical Communications
|
2012-04-20 18:18:17 +03:00
|
|
|
# Copyright 2012 OpenWrt.org
|
2010-02-27 00:45:39 +02:00
|
|
|
# This is free software, licensed under the GNU General Public License v2.
|
|
|
|
# See /LICENSE for more information.
|
|
|
|
#
|
|
|
|
|
|
|
|
fsck_e2fsck() {
|
2012-04-20 18:18:17 +03:00
|
|
|
set -o pipefail
|
2010-02-27 00:45:39 +02:00
|
|
|
e2fsck -p "$device" 2>&1 | logger -t "fstab: e2fsck ($device)"
|
|
|
|
local status="$?"
|
2012-04-20 18:18:17 +03:00
|
|
|
set +o pipefail
|
2010-02-27 00:45:39 +02:00
|
|
|
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"
|