[PATCH] fstests: support new mkfs.btrfs help string
Qu Wenruo <[email protected]>
| Newsgroups | org.kernel.vger.fstests,org.kernel.vger.linux-btrfs |
|---|---|
| Message-ID | <[email protected]> |
[BUG]
The latest btrfs-progs release v7.0 breaks a lot of tests, e.g.
btrfs/003:
btrfs/003 55s ... [failed, exit status 1]- output mismatch (see /home/kts/kernel-test-suite/src/xfstests/results//btrfs/003.out.bad)
--- tests/btrfs/003.out 2026-05-09 03:07:52.952213772 +0900
+++ /home/kts/kernel-test-suite/src/xfstests/results//btrfs/003.out.bad 2026-05-09 23:32:17.595751435 +0900
@@ -1,2 +1,3 @@
QA output created by 003
-Silence is golden
+mkfs failed
+(see /home/kts/kernel-test-suite/src/xfstests/results//btrfs/003.full for details)
...
(Run 'diff -u /home/kts/kernel-test-suite/src/xfstests/tests/btrfs/003.out /home/kts/kernel-test-suite/src/xfstests/results//btrfs/003.out.bad' to see the entire diff)
[CAUSE]
Commit ec8324cc4b8b ("btrfs-progs: help: adjust alignment of text") from
btrfs-progs changed the helpe string output format, the previous help
string for "-f" option of mkfs.btrfs looks like this:
-f|--force force overwrite of existing filesystem
There were 4 spaces before the "-f", thus can be matched by
"[[:space:]]-f[[:space]|,]".
But now the help string looks like:
-f, --force force overwrite of existing filesystem
Which removed the spaces at the beginning.
The existing regex to catch "-f" requires at least one space before
"-f", now it doesn't match the new btrfs help string, and cause mkfs
failure because we can not overwrite an existing scratch device without
"-f" option.
[FIX]
Change the regex to allow no space before "-f".
Reported-by: Shin'ichiro Kawasaki <[email protected]>
Link: https://lore.kernel.org/linux-btrfs/af9EHC5b-aBdr1zn@shinmob/
Signed-off-by: Qu Wenruo <[email protected]>
---
common/config | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/common/config b/common/config
index 1420e35d..339f7767 100644
--- a/common/config
+++ b/common/config
@@ -103,7 +103,7 @@ set_mkfs_prog_path_with_opts()
# Note: mkfs.f2fs doesn't support the --help option yet, but it doesn't
# matter since it also prints the help when an invalid option is given.
if [ "$p" != "" ] && \
- $p --help |& grep -q "[[:space:]]-f[[:space:]|,]"; then
+ $p --help |& grep -q "[[:space:]]*-f[[:space:]|,]"; then
echo "$p -f"
else
echo $p
--
2.51.2