Wang Shilong
2014-Feb-11 10:06 UTC
[PATCH v2] xfstests: btrfs/004: fix to make test really work
So i was wondering why test 004 could pass my previous wrong
kernel patch while it defenitely should not.
By some debugging, i found here perl script is wrong, we did not
filter out anything and this unit test did not work acutally.so
it came out we will never fail this test.
Signed-off-by: Wang Shilong <wangsl.fnst@cn.fujitsu.com>
---
Changelog v1->v2:
format perl script to make it more readable(thanks to Dave Chinner)
---
tests/btrfs/004 | 16 +++++++++++-----
1 file changed, 11 insertions(+), 5 deletions(-)
diff --git a/tests/btrfs/004 b/tests/btrfs/004
index 14da9f1..1d608db 100755
--- a/tests/btrfs/004
+++ b/tests/btrfs/004
@@ -57,11 +57,17 @@ _require_command "/usr/sbin/filefrag"
rm -f $seqres.full
-FILEFRAG_FILTER='if (/, blocksize (\d+)/) {$blocksize = $1; next} ($ext,
'\
-'$logical, $physical, $expected, $length, $flags) =
(/^\s*(\d+)\s+(\d+)'\
-'\s+(\d+)\s+(?:(\d+)\s+)?(\d+)\s+(.*)/) or next; $flags =~ '\
-'/(?:^|,)inline(?:,|$)/ and next; print $physical * $blocksize,
"#", '\
-'$length * $blocksize, "#", $logical * $blocksize, "
"'
+FILEFRAG_FILTER='
+ if (/blocks of (\d+) bytes/) {
+ $blocksize = $1;
+ next
+ }
+ ($ext, $logical, $physical, $length) +
(/^\s*(\d+):\s+(\d+)..\s+\d+:\s+(\d+)..\s+\d+:\s+(\d+):/)
+ or next;
+ print $physical * $blocksize, "#",
+ $length * $blocksize, "#",
+ $logical * $blocksize, " "'
# this makes filefrag output script readable by using a perl helper.
# output is one extent per line, with three numbers separated by '#'
--
1.8.3.1
_______________________________________________
xfs mailing list
xfs@oss.sgi.com
http://oss.sgi.com/mailman/listinfo/xfs