diff options
author | Dave Reisner <dreisner@archlinux.org> | 2013-04-22 22:00:09 +0200 |
---|---|---|
committer | Dave Reisner <dreisner@archlinux.org> | 2013-04-24 16:25:25 +0200 |
commit | 1a09a8632481ca5ee184ecb379476d2fdcd82fdd (patch) | |
tree | c467b6c2724497d637e5193ede82e0fae35a9cbc | |
parent | 45d340c154b7c956822e0c1a5ff4b956851e2cd6 (diff) | |
download | mkinitcpio-1a09a8632481ca5ee184ecb379476d2fdcd82fdd.tar.gz mkinitcpio-1a09a8632481ca5ee184ecb379476d2fdcd82fdd.tar.xz |
hooks/usr: conditionally fsck /usr based on fstab
Signed-off-by: Dave Reisner <dreisner@archlinux.org>
-rw-r--r-- | hooks/usr | 10 |
1 files changed, 8 insertions, 2 deletions
@@ -1,12 +1,18 @@ #!/usr/bin/ash run_latehook() { - local realtab=/new_root/etc/fstab + local usr_source mountopts passno realtab=/new_root/etc/fstab if [ -f "$realtab" ]; then if usr_source=$(findmnt -snero source --tab-file="$realtab" /usr); then mountopts=$(findmnt -snero options --tab-file="$realtab" /usr) - fsck_device "$usr_source" + + # returning the passno column requires util-linux >= 2.23. for + # older versions which do not support this column, always fsck. + passno=$(findmnt -snero passno --tab-file="$realtab" /usr 2>/dev/null) + if [ -z "$passno" ] || [ "$passno" -gt 0 ]; then + fsck_device "$usr_source" + fi msg ":: mounting '$usr_source' on /usr" mount "$usr_source" /new_root/usr -o "$mountopts" fi |