From a7640a40da6457edda50c3f1987ed43043d466ec Mon Sep 17 00:00:00 2001 From: Qu Wenruo Date: Thu, 24 Apr 2025 16:59:07 +0930 Subject: [PATCH] fstests: btrfs/315: fix golden output mismatch caused by newer util-linux [BUG] With util-linux v2.41.0 and newer, test case btrfs/315 will fail like the following: btrfs/315 1s ... - output mismatch (see /home/adam/xfstests-dev/results//btrfs/315.out.bad) --- tests/btrfs/315.out 2025-04-24 15:31:28.684112371 +0930 +++ /home/adam/xfstests-dev/results//btrfs/315.out.bad 2025-04-24 15:31:31.854883557 +0930 @@ -1,7 +1,7 @@ QA output created by 315 ---- seed_device_must_fail ---- mount: SCRATCH_MNT: WARNING: source write-protected, mounted read-only. -mount: TEST_DIR/315/tempfsid_mnt: system call failed: File exists. +mount: TEST_DIR/315/tempfsid_mnt: () failed: File exists. ---- device_add_must_fail ---- wrote 9000/9000 bytes at offset 0 [CAUSE] With util-linux v2.41.0, the mount failure error message changed to the following: mount: /mnt/test/315/tempfsid_mnt: fsconfig() failed: File exists. Thus the existing filter only striped the "fsconfig" part, leaving the "()" without changing it to " system call". [FIX] The test case is doomed in day one by using a local filter, which requires stupid catch-up game against util-linux. Meanwhile we already have a much better filter, _filter_error_mount(). That helper can already handle the newer v2.41 output. Let's use the superior common filter and update the golden output to: mount: File exists. Signed-off-by: Qu Wenruo Reviewed-by: Zorro Lang Reviewed-by: Anand Jain Signed-off-by: Anand Jain [ fixed: filter.btrfs is not needed ] --- tests/btrfs/315 | 23 ++--------------------- tests/btrfs/315.out | 2 +- 2 files changed, 3 insertions(+), 22 deletions(-) diff --git a/tests/btrfs/315 b/tests/btrfs/315 index e6589abe..f8785e83 100755 --- a/tests/btrfs/315 +++ b/tests/btrfs/315 @@ -18,7 +18,7 @@ _cleanup() rm -r -f $tempfsid_mnt } -. ./common/filter.btrfs +. ./common/filter _require_scratch_dev_pool 3 _require_btrfs_fs_feature temp_fsid @@ -28,25 +28,6 @@ _scratch_dev_pool_get 3 # mount point for the tempfsid device tempfsid_mnt=$TEST_DIR/$seq/tempfsid_mnt -_filter_mount_error() -{ - # There are two different errors that occur at the output when - # mounting fails; as shown below, pick out the common part. And, - # remove the dmesg line. - - # mount: : mount(2) system call failed: File exists. - - # mount: : fsconfig system call failed: File exists. - # dmesg(1) may have more information after failed mount system call. - - # For util-linux v2.4 and later: - # mount: : mount system call failed: File exists. - - grep -v dmesg | _filter_test_dir | \ - sed -e "s/mount(2)\|fsconfig//g" \ - -e "s/mount\( system call failed:\)/\1/" -} - seed_device_must_fail() { echo ---- $FUNCNAME ---- @@ -57,7 +38,7 @@ seed_device_must_fail() $BTRFS_TUNE_PROG -S 1 ${SCRATCH_DEV_NAME[1]} _scratch_mount 2>&1 | _filter_scratch - _mount ${SCRATCH_DEV_NAME[1]} ${tempfsid_mnt} 2>&1 | _filter_mount_error + _mount ${SCRATCH_DEV_NAME[1]} ${tempfsid_mnt} 2>&1 | _filter_error_mount } device_add_must_fail() diff --git a/tests/btrfs/315.out b/tests/btrfs/315.out index 3ea7a35a..ae77d4fd 100644 --- a/tests/btrfs/315.out +++ b/tests/btrfs/315.out @@ -1,7 +1,7 @@ QA output created by 315 ---- seed_device_must_fail ---- mount: SCRATCH_MNT: WARNING: source write-protected, mounted read-only. -mount: TEST_DIR/315/tempfsid_mnt: system call failed: File exists. +mount: File exists ---- device_add_must_fail ---- wrote 9000/9000 bytes at offset 0 XXX Bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -- 2.47.3