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
8fsck_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
24fsck_ext2() {
25	fsck_e2fsck "$@"
26}
27
28fsck_ext3() {
29	fsck_e2fsck "$@"
30}
31
32fsck_ext4() {
33	fsck_e2fsck "$@"
34}
35
36append libmount_known_fsck "ext2"
37append libmount_known_fsck "ext3"
38append libmount_known_fsck "ext4"
39