From 2da0d2692c94d656585c1d81dc9e043a1a0384f1 Mon Sep 17 00:00:00 2001 From: Anand Jain Date: Mon, 21 Aug 2023 17:05:09 +0800 Subject: fstests: use btrfs check repair for repairing btrfs filesystems There are two repair functions: _repair_scratch_fs() and _repair_test_fs(). As the names suggest, these functions are designed to repair the filesystems SCRATCH_DEV and TEST_DEV, respectively. However, these functions never called proper comamnd for the filesystem type btrfs. This patch fixes it. Thx. Signed-off-by: Anand Jain Reviewed-by: Zorro Lang Signed-off-by: Zorro Lang --- common/rc | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) (limited to 'common') diff --git a/common/rc b/common/rc index 1618ded5..a438a8de 100644 --- a/common/rc +++ b/common/rc @@ -1180,6 +1180,15 @@ _repair_scratch_fs() fi return $res ;; + btrfs) + echo "yes|$BTRFS_UTIL_PROG check --repair --force $SCRATCH_DEV" + yes | $BTRFS_UTIL_PROG check --repair --force $SCRATCH_DEV 2>&1 + local res=$? + if [ $res -ne 0 ]; then + _dump_err2 "btrfs repair failed, err=$res" + fi + return $res + ;; bcachefs) # With bcachefs, if fsck detects any errors we consider it a bug and we # want the test to fail: @@ -1232,6 +1241,13 @@ _repair_test_fs() res=$? fi ;; + btrfs) + echo 'yes|$BTRFS_UTIL_PROG check --repair --force "$TEST_DEV"' > \ + /tmp.repair 2>&1 + yes | $BTRFS_UTIL_PROG check --repair --force "$TEST_DEV" >> \ + /tmp.repair 2>&1 + res=$? + ;; *) # Let's hope fsck -y suffices... fsck -t $FSTYP -y $TEST_DEV >$tmp.repair 2>&1 -- cgit v1.2.3