[xfstests PATCH v3 1/5] overlay: add filesystem check helper

zhangyi (F)
2018-02-08T03:10:42Z

Add filesystem check helper for the upcoming fsck.overlay utility.
This helper invoke fsck.overlay to check and optionally repair
underlying directories of overlay filesystem.

Signed-off-by: zhangyi (F) <yi.zhang@huawei.com>
Reviewed-by: Amir Goldstein <amir73il@gmail.com>
---
common/config | 1 +
common/overlay | 14 ++++++++++++++
2 files changed, 15 insertions(+)

diff --git a/common/config b/common/config
index 5f40413..71115bd 100644
--- a/common/config
+++ b/common/config
@@ -236,6 +236,7 @@ case "$HOSTOS" in
export MKFS_REISER4_PROG="`set_prog_path mkfs.reiser4`"
export E2FSCK_PROG="`set_prog_path e2fsck`"
export TUNE2FS_PROG="`set_prog_path tune2fs`"
+ export FSCK_OVERLAY_PROG="`set_prog_path fsck.overlay`"
;;
esac

diff --git a/common/overlay b/common/overlay
index ad2f3be..16f13a8 100644
--- a/common/overlay
+++ b/common/overlay
@@ -168,3 +168,17 @@ _require_scratch_overlay_features()

_scratch_unmount
}
+
+# Helper function to check underlying dirs of overlay filesystem
+_overlay_fsck_dirs()
+{
+ local lowerdir=$1
+ local upperdir=$2
+ local workdir=$3
+ shift 3
+
+ [[ ! -x "$FSCK_OVERLAY_PROG" ]] && return 0
+
+ $FSCK_OVERLAY_PROG -o lowerdir=$lowerdir -o upperdir=$upperdir \
+ -o workdir=$workdir $*
+}
--
2.5.0