|
|
e1e9d4 |
From 3a10489b8c2c7438d4725bfa272fa04927f91ebd Mon Sep 17 00:00:00 2001
|
|
|
e1e9d4 |
From: Zdenek Kabelac <zkabelac@redhat.com>
|
|
|
e1e9d4 |
Date: Sat, 24 Oct 2020 00:42:31 +0200
|
|
|
e1e9d4 |
Subject: [PATCH 1/2] fsadm: handle fsck return 1 for corrected fs
|
|
|
e1e9d4 |
|
|
|
e1e9d4 |
(cherry picked from commit ab99382d7a614c299e765ea4d1f02fe7282502a1)
|
|
|
e1e9d4 |
---
|
|
|
e1e9d4 |
scripts/fsadm.sh | 25 ++++++++++++++++++-------
|
|
|
e1e9d4 |
1 file changed, 18 insertions(+), 7 deletions(-)
|
|
|
e1e9d4 |
|
|
|
e1e9d4 |
diff --git a/scripts/fsadm.sh b/scripts/fsadm.sh
|
|
|
e1e9d4 |
index 28ca670..c4c7515 100755
|
|
|
e1e9d4 |
--- a/scripts/fsadm.sh
|
|
|
e1e9d4 |
+++ b/scripts/fsadm.sh
|
|
|
e1e9d4 |
@@ -1,6 +1,6 @@
|
|
|
e1e9d4 |
#!/bin/bash
|
|
|
e1e9d4 |
#
|
|
|
e1e9d4 |
-# Copyright (C) 2007-2017 Red Hat, Inc. All rights reserved.
|
|
|
e1e9d4 |
+# Copyright (C) 2007-2020 Red Hat, Inc. All rights reserved.
|
|
|
e1e9d4 |
#
|
|
|
e1e9d4 |
# This file is part of LVM2.
|
|
|
e1e9d4 |
#
|
|
|
e1e9d4 |
@@ -130,7 +130,15 @@ dry() {
|
|
|
e1e9d4 |
return 0
|
|
|
e1e9d4 |
fi
|
|
|
e1e9d4 |
verbose "Executing" "$@"
|
|
|
e1e9d4 |
- "$@"
|
|
|
e1e9d4 |
+ $@
|
|
|
e1e9d4 |
+}
|
|
|
e1e9d4 |
+
|
|
|
e1e9d4 |
+# Accept as succss also return code 1 with fsck
|
|
|
e1e9d4 |
+accept_0_1() {
|
|
|
e1e9d4 |
+ $@
|
|
|
e1e9d4 |
+ local ret="$?"
|
|
|
e1e9d4 |
+ test "$ret" -eq 1 || return "$ret"
|
|
|
e1e9d4 |
+ # Filesystem was corrected
|
|
|
e1e9d4 |
}
|
|
|
e1e9d4 |
|
|
|
e1e9d4 |
cleanup() {
|
|
|
e1e9d4 |
@@ -455,9 +463,10 @@ resize_ext() {
|
|
|
e1e9d4 |
if test -n "$MOUNTED" ; then
|
|
|
e1e9d4 |
# Forced fsck -f for umounted extX filesystem.
|
|
|
e1e9d4 |
case "$-" in
|
|
|
e1e9d4 |
- *i*) dry "$FSCK" $YES -f "$VOLUME" ;;
|
|
|
e1e9d4 |
- *) dry "$FSCK" -f -p "$VOLUME" ;;
|
|
|
e1e9d4 |
+ *i*) FLAG=$YES ;;
|
|
|
e1e9d4 |
+ *) FLAG="-p" ;;
|
|
|
e1e9d4 |
esac
|
|
|
e1e9d4 |
+ accept_0_1 dry "$FSCK" -f $FLAG "$VOLUME" || error "Failed to fsck $VOLUME"
|
|
|
e1e9d4 |
fi
|
|
|
e1e9d4 |
fi
|
|
|
e1e9d4 |
|
|
|
e1e9d4 |
@@ -742,9 +751,11 @@ check() {
|
|
|
e1e9d4 |
"ext2"|"ext3"|"ext4"|"reiserfs")
|
|
|
e1e9d4 |
# check if executed from interactive shell environment
|
|
|
e1e9d4 |
case "$-" in
|
|
|
e1e9d4 |
- *i*) dry "$FSCK" $YES $FORCE "$VOLUME" ;;
|
|
|
e1e9d4 |
- *) dry "$FSCK" $FORCE -p "$VOLUME" ;;
|
|
|
e1e9d4 |
- esac ;;
|
|
|
e1e9d4 |
+ *i*) FLAG=$YES ;;
|
|
|
e1e9d4 |
+ *) FLAG="-p" ;;
|
|
|
e1e9d4 |
+ esac
|
|
|
e1e9d4 |
+ accept_0_1 dry "$FSCK" $FORCE $FLAG "$VOLUME" || error "Fsck $FSTYPE failed."
|
|
|
e1e9d4 |
+ ;;
|
|
|
e1e9d4 |
"crypto_LUKS")
|
|
|
e1e9d4 |
which "$CRYPTSETUP" > /dev/null 2>&1 || error "$CRYPTSETUP utility required."
|
|
|
e1e9d4 |
check_luks ;;
|
|
|
e1e9d4 |
--
|
|
|
e1e9d4 |
1.8.3.1
|
|
|
e1e9d4 |
|