On 2022/11/10 00:44, fdmanana@xxxxxxxxxx wrote:
From: Filipe Manana <fdmanana@xxxxxxxx>
Starting with btrfs-progs v6.0, the defrag command now prints to stdout
the full path of the files it processes. This makes test cases btrfs/021
and btrfs/256 fail because they don't expect any output from the defrag
command.
The change happened with the following commit in btrfs-progs:
dd724f21803d ("btrfs-progs: add logic to handle LOG_DEFAULT messages")
So update the tests to ignore the stdout of the defrag command.
Signed-off-by: Filipe Manana <fdmanana@xxxxxxxx>
Reviewed-by: Qu Wenruo <wqu@xxxxxxxx>
Thanks,
Qu
---
tests/btrfs/021 | 4 +++-
tests/btrfs/256 | 4 +++-
2 files changed, 6 insertions(+), 2 deletions(-)
diff --git a/tests/btrfs/021 b/tests/btrfs/021
index 5943da2f..1b55834a 100755
--- a/tests/btrfs/021
+++ b/tests/btrfs/021
@@ -22,8 +22,10 @@ run_test()
sleep 0.5
+ # In new versions of btrfs-progs (6.0+), the defrag command outputs to
+ # stdout the path of the files it operates on. So ignore that.
find $SCRATCH_MNT -type f -print0 | xargs -0 \
- $BTRFS_UTIL_PROG filesystem defrag -f
+ $BTRFS_UTIL_PROG filesystem defrag -f > /dev/null
sync
wait
diff --git a/tests/btrfs/256 b/tests/btrfs/256
index 1360c2c2..acbbc6fa 100755
--- a/tests/btrfs/256
+++ b/tests/btrfs/256
@@ -50,7 +50,9 @@ $FSSUM_PROG -A -f -w "$checksums_file" "$SCRATCH_MNT"
# Now defrag each file.
for sz in ${file_sizes[@]}; do
echo "Defragging file with $sz bytes..." >> $seqres.full
- $BTRFS_UTIL_PROG filesystem defragment "$SCRATCH_MNT/f_$sz"
+ # In new versions of btrfs-progs (6.0+), the defrag command outputs to
+ # stdout the path of the files it operates on. So ignore that.
+ $BTRFS_UTIL_PROG filesystem defragment "$SCRATCH_MNT/f_$sz" > /dev/null
done
# Verify the checksums after the defrag operations.