b.liu | e958203 | 2025-04-17 19:18:16 +0800 | [diff] [blame] | 1 | #!/bin/sh |
| 2 | # Copyright 2010 Vertical Communications |
| 3 | # Copyright 2012 OpenWrt.org |
| 4 | # This is free software, licensed under the GNU General Public License v2. |
| 5 | # See /LICENSE for more information. |
| 6 | # |
| 7 | |
| 8 | fsck_e2fsck() { |
| 9 | set -o pipefail |
| 10 | e2fsck -p "$device" 2>&1 | logger -t "fstab: e2fsck ($device)" |
| 11 | local status="$?" |
| 12 | set +o pipefail |
| 13 | case "$status" in |
| 14 | 0|1) ;; #success |
| 15 | 2) reboot;; |
| 16 | 4) echo "e2fsck ($device): Warning! Uncorrected errors."| logger -t fstab |
| 17 | return 1 |
| 18 | ;; |
| 19 | *) echo "e2fsck ($device): Error $status. Check not complete."| logger -t fstab;; |
| 20 | esac |
| 21 | return 0 |
| 22 | } |
| 23 | |
| 24 | fsck_ext2() { |
| 25 | fsck_e2fsck "$@" |
| 26 | } |
| 27 | |
| 28 | fsck_ext3() { |
| 29 | fsck_e2fsck "$@" |
| 30 | } |
| 31 | |
| 32 | fsck_ext4() { |
| 33 | fsck_e2fsck "$@" |
| 34 | } |
| 35 | |
| 36 | append libmount_known_fsck "ext2" |
| 37 | append libmount_known_fsck "ext3" |
| 38 | append libmount_known_fsck "ext4" |