The fsck.xfs script did nothing, because xfs doesn't need a fsck to be run on every unclean shutdown. However, sometimes it may happen that the root filesystem really requires the usage of xfs_repair and then it is a hassle. This patch makes the situation a bit easier by detecting forced checks (/forcefsck or fsck.mode=force), so user can require the repair, without the repair being run all the time. (Thanks Eric for suggesting this.) Signed-off-by: Jan Tulak <jtulak@xxxxxxxxxx> --- fsck/xfs_fsck.sh | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/fsck/xfs_fsck.sh b/fsck/xfs_fsck.sh index e52969e4..71bfa2e1 100755 --- a/fsck/xfs_fsck.sh +++ b/fsck/xfs_fsck.sh @@ -4,10 +4,12 @@ # AUTO=false -while getopts ":aApy" c +FORCE=false +while getopts ":aApyf" c do case $c in a|A|p|y) AUTO=true;; + f) FORCE=true;; esac done eval DEV=\${$#} @@ -15,10 +17,18 @@ if [ ! -e $DEV ]; then echo "$0: $DEV does not exist" exit 8 fi + +# The flag -f is added by systemd/init scripts when /forcefsck file is present +# or fsck.mode=force is used during boot; an unclean shutdown won't trigger +# this check, user has to explicitly require a forced fsck. +if $FORCE; then + xfs_repair $DEV + exit $? +fi + if $AUTO; then echo "$0: XFS file system." else echo "If you wish to check the consistency of an XFS filesystem or" echo "repair a damaged filesystem, see xfs_repair(8)." fi -exit 0 -- 2.15.0 -- To unsubscribe from this list: send the line "unsubscribe linux-xfs" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html