* [PATCH 1/5] fstests: filter: Introduce filter to filter out offset for xfs_io
@ 2018-01-11 6:55 Qu Wenruo
2018-01-11 6:55 ` [PATCH 2/5] fstests: btrfs/140: Filter out offset to handle mkfs chunk layout change Qu Wenruo
` (4 more replies)
0 siblings, 5 replies; 7+ messages in thread
From: Qu Wenruo @ 2018-01-11 6:55 UTC (permalink / raw)
To: linux-btrfs, fstests; +Cc: dsterba
Some test cases (AFAIK, btrfs RAID recovery test cases) read out certain
location to verify its data.
Such read is mostly OK, but the golden output contains the on-disk
offset, which can differ due to underlying chunk change.
(This time is mkfs chunk layout change for btrfs)
So introduce macro _filter_xfs_io_offset to filter out the offset part
wrote 65536/65536 bytes at offset 136708096
^^^^^^^^^^^^^^^^^^^^
And offset from "pread -v"
08260000: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................
^^^^^^^^^
Reported-by: Nikolay Borisov <nborisov@suse.com>
Signed-off-by: Qu Wenruo <wqu@suse.com>
---
common/filter | 10 +++++++++-
1 file changed, 9 insertions(+), 1 deletion(-)
diff --git a/common/filter b/common/filter
index 9c33efac..77afcbc4 100644
--- a/common/filter
+++ b/common/filter
@@ -226,6 +226,15 @@ _filter_xfs_io()
sed -e "s/[0-9/.]* [GMKiBbytes]*, [0-9]* ops\; [0-9/:. sec]* ([infa0-9/.]* [EPGMKiBbytes]*\/sec and [infa0-9/.]* ops\/sec)/XXX Bytes, X ops\; XX:XX:XX.X (XXX YYY\/sec and XXX ops\/sec)/"
}
+# Also filter out the offset part of xfs_io output
+# Some test cases may be affected by underlaying extent/chunk layout change,
+# so wipe out this part to avoid golden output difference
+_filter_xfs_io_offset()
+{
+ # filter out " at offset XXX" and offset of "pread -v"
+ sed -e "s/ at offset [0-9]*$//" -e "s/^[0-9a-f]\+:/XXXXXXXX:/"
+}
+
# stderr filter for xfs_io to handle change of error output format (e.g.
# pwrite64 -> pwrite).
_filter_xfs_io_error()
@@ -277,7 +286,6 @@ _filter_xfs_io_pages_modified()
_filter_xfs_io_units_modified "Page" $PAGE_SIZE
}
-
_filter_test_dir()
{
# TEST_DEV may be a prefix of TEST_DIR (e.g. /mnt, /mnt/ovl-mnt)
--
2.15.1
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [PATCH 2/5] fstests: btrfs/140: Filter out offset to handle mkfs chunk layout change
2018-01-11 6:55 [PATCH 1/5] fstests: filter: Introduce filter to filter out offset for xfs_io Qu Wenruo
@ 2018-01-11 6:55 ` Qu Wenruo
2018-01-11 6:55 ` [PATCH 3/5] fstests: btrfs/141: " Qu Wenruo
` (3 subsequent siblings)
4 siblings, 0 replies; 7+ messages in thread
From: Qu Wenruo @ 2018-01-11 6:55 UTC (permalink / raw)
To: linux-btrfs, fstests; +Cc: dsterba
Due to recent mkfs.btrfs chunk layout change, offset in golden output is
not flex to handle different mkfs chunk layout.
So use _filter_xfs_io_offset to filter out offset so golden output can
handle any chunk layout.
Signed-off-by: Qu Wenruo <wqu@suse.com>
---
tests/btrfs/140 | 9 ++++---
tests/btrfs/140.out | 70 ++++++++++++++++++++++++++---------------------------
2 files changed, 41 insertions(+), 38 deletions(-)
diff --git a/tests/btrfs/140 b/tests/btrfs/140
index 985327a0..f3ff3500 100755
--- a/tests/btrfs/140
+++ b/tests/btrfs/140
@@ -78,7 +78,8 @@ _scratch_pool_mkfs $mkfs_opts >>$seqres.full 2>&1
# chunk
_scratch_mount -o nospace_cache
-$XFS_IO_PROG -f -d -c "pwrite -S 0xaa -b 128K 0 128K" "$SCRATCH_MNT/foobar" | _filter_xfs_io
+$XFS_IO_PROG -f -d -c "pwrite -S 0xaa -b 128K 0 128K" "$SCRATCH_MNT/foobar" |\
+ _filter_xfs_io | _filter_xfs_io_offset
# step 2, corrupt the first 64k of one copy (on SCRATCH_DEV which is the first
# one in $SCRATCH_DEV_POOL
@@ -89,7 +90,8 @@ logical_in_btrfs=`${FILEFRAG_PROG} -v $SCRATCH_MNT/foobar | _filter_filefrag | c
physical_on_scratch=`get_physical ${logical_in_btrfs}`
_scratch_unmount
-$XFS_IO_PROG -d -c "pwrite -S 0xbb -b 64K $physical_on_scratch 64K" $SCRATCH_DEV | _filter_xfs_io
+$XFS_IO_PROG -d -c "pwrite -S 0xbb -b 64K $physical_on_scratch 64K" $SCRATCH_DEV |\
+ _filter_xfs_io | _filter_xfs_io_offset
_scratch_mount
@@ -109,7 +111,8 @@ done
_scratch_unmount
# check if the repair works
-$XFS_IO_PROG -d -c "pread -v -b 512 $physical_on_scratch 512" $SCRATCH_DEV | _filter_xfs_io
+$XFS_IO_PROG -d -c "pread -v -b 512 $physical_on_scratch 512" $SCRATCH_DEV |\
+ _filter_xfs_io | _filter_xfs_io_offset
_scratch_dev_pool_put
# success, all done
diff --git a/tests/btrfs/140.out b/tests/btrfs/140.out
index c8565f53..f3fdf174 100644
--- a/tests/btrfs/140.out
+++ b/tests/btrfs/140.out
@@ -1,39 +1,39 @@
QA output created by 140
-wrote 131072/131072 bytes at offset 0
+wrote 131072/131072 bytes
XXX Bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
-wrote 65536/65536 bytes at offset 136708096
+wrote 65536/65536 bytes
XXX Bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
-08260000: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................
-08260010: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................
-08260020: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................
-08260030: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................
-08260040: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................
-08260050: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................
-08260060: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................
-08260070: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................
-08260080: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................
-08260090: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................
-082600a0: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................
-082600b0: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................
-082600c0: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................
-082600d0: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................
-082600e0: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................
-082600f0: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................
-08260100: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................
-08260110: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................
-08260120: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................
-08260130: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................
-08260140: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................
-08260150: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................
-08260160: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................
-08260170: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................
-08260180: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................
-08260190: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................
-082601a0: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................
-082601b0: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................
-082601c0: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................
-082601d0: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................
-082601e0: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................
-082601f0: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................
-read 512/512 bytes at offset 136708096
+XXXXXXXX: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................
+XXXXXXXX: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................
+XXXXXXXX: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................
+XXXXXXXX: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................
+XXXXXXXX: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................
+XXXXXXXX: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................
+XXXXXXXX: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................
+XXXXXXXX: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................
+XXXXXXXX: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................
+XXXXXXXX: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................
+XXXXXXXX: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................
+XXXXXXXX: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................
+XXXXXXXX: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................
+XXXXXXXX: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................
+XXXXXXXX: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................
+XXXXXXXX: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................
+XXXXXXXX: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................
+XXXXXXXX: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................
+XXXXXXXX: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................
+XXXXXXXX: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................
+XXXXXXXX: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................
+XXXXXXXX: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................
+XXXXXXXX: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................
+XXXXXXXX: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................
+XXXXXXXX: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................
+XXXXXXXX: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................
+XXXXXXXX: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................
+XXXXXXXX: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................
+XXXXXXXX: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................
+XXXXXXXX: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................
+XXXXXXXX: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................
+XXXXXXXX: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................
+read 512/512 bytes
XXX Bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
--
2.15.1
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [PATCH 3/5] fstests: btrfs/141: Filter out offset to handle mkfs chunk layout change
2018-01-11 6:55 [PATCH 1/5] fstests: filter: Introduce filter to filter out offset for xfs_io Qu Wenruo
2018-01-11 6:55 ` [PATCH 2/5] fstests: btrfs/140: Filter out offset to handle mkfs chunk layout change Qu Wenruo
@ 2018-01-11 6:55 ` Qu Wenruo
2018-01-11 6:56 ` [PATCH 4/5] fstests: btrfs/142: " Qu Wenruo
` (2 subsequent siblings)
4 siblings, 0 replies; 7+ messages in thread
From: Qu Wenruo @ 2018-01-11 6:55 UTC (permalink / raw)
To: linux-btrfs, fstests; +Cc: dsterba
Due to recent mkfs.btrfs chunk layout change, offset in golden output is
not flex enough to handle different mkfs chunk layout.
So use _filter_xfs_io_offset to filter out offset so golden output can
handle any chunk layout.
Signed-off-by: Qu Wenruo <wqu@suse.com>
---
tests/btrfs/141 | 9 ++++---
tests/btrfs/141.out | 70 ++++++++++++++++++++++++++---------------------------
2 files changed, 41 insertions(+), 38 deletions(-)
diff --git a/tests/btrfs/141 b/tests/btrfs/141
index 709bb0af..643ce6df 100755
--- a/tests/btrfs/141
+++ b/tests/btrfs/141
@@ -78,7 +78,8 @@ _scratch_pool_mkfs $mkfs_opts >>$seqres.full 2>&1
# chunk
_scratch_mount -o nospace_cache
-$XFS_IO_PROG -f -d -c "pwrite -S 0xaa -b 128K 0 128K" "$SCRATCH_MNT/foobar" | _filter_xfs_io
+$XFS_IO_PROG -f -d -c "pwrite -S 0xaa -b 128K 0 128K" "$SCRATCH_MNT/foobar" |\
+ _filter_xfs_io | _filter_xfs_io_offset
# step 2, corrupt the first 64k of one copy (on SCRATCH_DEV which is the first
# one in $SCRATCH_DEV_POOL
@@ -89,7 +90,8 @@ logical_in_btrfs=`${FILEFRAG_PROG} -v $SCRATCH_MNT/foobar | _filter_filefrag | c
physical_on_scratch=`get_physical ${logical_in_btrfs}`
_scratch_unmount
-$XFS_IO_PROG -d -c "pwrite -S 0xbb -b 64K $physical_on_scratch 64K" $SCRATCH_DEV | _filter_xfs_io
+$XFS_IO_PROG -d -c "pwrite -S 0xbb -b 64K $physical_on_scratch 64K" $SCRATCH_DEV |\
+ _filter_xfs_io | _filter_xfs_io_offset
_scratch_mount
@@ -110,7 +112,8 @@ done
_scratch_unmount
# check if the repair works
-$XFS_IO_PROG -c "pread -v -b 512 $physical_on_scratch 512" $SCRATCH_DEV | _filter_xfs_io
+$XFS_IO_PROG -c "pread -v -b 512 $physical_on_scratch 512" $SCRATCH_DEV |\
+ _filter_xfs_io | _filter_xfs_io_offset
_scratch_dev_pool_put
# success, all done
diff --git a/tests/btrfs/141.out b/tests/btrfs/141.out
index 2e08fc22..116f98a2 100644
--- a/tests/btrfs/141.out
+++ b/tests/btrfs/141.out
@@ -1,39 +1,39 @@
QA output created by 141
-wrote 131072/131072 bytes at offset 0
+wrote 131072/131072 bytes
XXX Bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
-wrote 65536/65536 bytes at offset 136708096
+wrote 65536/65536 bytes
XXX Bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
-08260000: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................
-08260010: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................
-08260020: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................
-08260030: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................
-08260040: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................
-08260050: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................
-08260060: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................
-08260070: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................
-08260080: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................
-08260090: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................
-082600a0: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................
-082600b0: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................
-082600c0: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................
-082600d0: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................
-082600e0: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................
-082600f0: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................
-08260100: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................
-08260110: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................
-08260120: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................
-08260130: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................
-08260140: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................
-08260150: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................
-08260160: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................
-08260170: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................
-08260180: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................
-08260190: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................
-082601a0: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................
-082601b0: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................
-082601c0: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................
-082601d0: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................
-082601e0: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................
-082601f0: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................
-read 512/512 bytes at offset 136708096
+XXXXXXXX: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................
+XXXXXXXX: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................
+XXXXXXXX: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................
+XXXXXXXX: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................
+XXXXXXXX: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................
+XXXXXXXX: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................
+XXXXXXXX: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................
+XXXXXXXX: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................
+XXXXXXXX: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................
+XXXXXXXX: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................
+XXXXXXXX: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................
+XXXXXXXX: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................
+XXXXXXXX: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................
+XXXXXXXX: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................
+XXXXXXXX: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................
+XXXXXXXX: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................
+XXXXXXXX: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................
+XXXXXXXX: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................
+XXXXXXXX: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................
+XXXXXXXX: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................
+XXXXXXXX: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................
+XXXXXXXX: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................
+XXXXXXXX: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................
+XXXXXXXX: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................
+XXXXXXXX: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................
+XXXXXXXX: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................
+XXXXXXXX: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................
+XXXXXXXX: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................
+XXXXXXXX: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................
+XXXXXXXX: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................
+XXXXXXXX: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................
+XXXXXXXX: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................
+read 512/512 bytes
XXX Bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
--
2.15.1
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [PATCH 4/5] fstests: btrfs/142: Filter out offset to handle mkfs chunk layout change
2018-01-11 6:55 [PATCH 1/5] fstests: filter: Introduce filter to filter out offset for xfs_io Qu Wenruo
2018-01-11 6:55 ` [PATCH 2/5] fstests: btrfs/140: Filter out offset to handle mkfs chunk layout change Qu Wenruo
2018-01-11 6:55 ` [PATCH 3/5] fstests: btrfs/141: " Qu Wenruo
@ 2018-01-11 6:56 ` Qu Wenruo
2018-01-11 6:56 ` [PATCH 5/5] fstests: btrfs/143: " Qu Wenruo
2018-01-11 7:23 ` [PATCH 1/5] fstests: filter: Introduce filter to filter out offset for xfs_io Eryu Guan
4 siblings, 0 replies; 7+ messages in thread
From: Qu Wenruo @ 2018-01-11 6:56 UTC (permalink / raw)
To: linux-btrfs, fstests; +Cc: dsterba
Due to recent mkfs.btrfs chunk layout change, offset in golden output is
not flex to handle different mkfs chunk layout.
So use _filter_xfs_io_offset to filter out offset so golden output can
handle any chunk layout.
Signed-off-by: Qu Wenruo <wqu@suse.com>
---
tests/btrfs/142 | 9 ++++---
tests/btrfs/142.out | 70 ++++++++++++++++++++++++++---------------------------
2 files changed, 41 insertions(+), 38 deletions(-)
diff --git a/tests/btrfs/142 b/tests/btrfs/142
index 5bd8b728..267bdfac 100755
--- a/tests/btrfs/142
+++ b/tests/btrfs/142
@@ -99,7 +99,8 @@ _scratch_pool_mkfs $mkfs_opts >>$seqres.full 2>&1
# chunk
_scratch_mount -o nospace_cache,nodatasum
-$XFS_IO_PROG -f -d -c "pwrite -S 0xaa -b 128K 0 128K" "$SCRATCH_MNT/foobar" | _filter_xfs_io
+$XFS_IO_PROG -f -d -c "pwrite -S 0xaa -b 128K 0 128K" "$SCRATCH_MNT/foobar" |\
+ _filter_xfs_io | _filter_xfs_io_offset
# step 2, corrupt the first 64k of one copy (on SCRATCH_DEV which is the first
# one in $SCRATCH_DEV_POOL
@@ -110,7 +111,8 @@ logical_in_btrfs=`${FILEFRAG_PROG} -v $SCRATCH_MNT/foobar | _filter_filefrag | c
physical_on_scratch=`get_physical ${logical_in_btrfs}`
_scratch_unmount
-$XFS_IO_PROG -d -c "pwrite -S 0xbb -b 64K $physical_on_scratch 64K" $SCRATCH_DEV | _filter_xfs_io
+$XFS_IO_PROG -d -c "pwrite -S 0xbb -b 64K $physical_on_scratch 64K" $SCRATCH_DEV |\
+ _filter_xfs_io | _filter_xfs_io_offset
_scratch_mount -o nospace_cache
@@ -135,7 +137,8 @@ stop_fail
_scratch_unmount
# check if the repair works
-$XFS_IO_PROG -c "pread -v -b 512 $physical_on_scratch 512" $SCRATCH_DEV | _filter_xfs_io
+$XFS_IO_PROG -c "pread -v -b 512 $physical_on_scratch 512" $SCRATCH_DEV |\
+ _filter_xfs_io | _filter_xfs_io_offset
_scratch_dev_pool_put
# success, all done
diff --git a/tests/btrfs/142.out b/tests/btrfs/142.out
index d8be7fbf..0f32ffbe 100644
--- a/tests/btrfs/142.out
+++ b/tests/btrfs/142.out
@@ -1,39 +1,39 @@
QA output created by 142
-wrote 131072/131072 bytes at offset 0
+wrote 131072/131072 bytes
XXX Bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
-wrote 65536/65536 bytes at offset 136708096
+wrote 65536/65536 bytes
XXX Bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
-08260000: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................
-08260010: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................
-08260020: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................
-08260030: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................
-08260040: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................
-08260050: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................
-08260060: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................
-08260070: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................
-08260080: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................
-08260090: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................
-082600a0: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................
-082600b0: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................
-082600c0: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................
-082600d0: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................
-082600e0: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................
-082600f0: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................
-08260100: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................
-08260110: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................
-08260120: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................
-08260130: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................
-08260140: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................
-08260150: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................
-08260160: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................
-08260170: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................
-08260180: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................
-08260190: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................
-082601a0: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................
-082601b0: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................
-082601c0: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................
-082601d0: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................
-082601e0: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................
-082601f0: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................
-read 512/512 bytes at offset 136708096
+XXXXXXXX: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................
+XXXXXXXX: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................
+XXXXXXXX: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................
+XXXXXXXX: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................
+XXXXXXXX: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................
+XXXXXXXX: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................
+XXXXXXXX: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................
+XXXXXXXX: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................
+XXXXXXXX: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................
+XXXXXXXX: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................
+XXXXXXXX: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................
+XXXXXXXX: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................
+XXXXXXXX: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................
+XXXXXXXX: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................
+XXXXXXXX: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................
+XXXXXXXX: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................
+XXXXXXXX: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................
+XXXXXXXX: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................
+XXXXXXXX: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................
+XXXXXXXX: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................
+XXXXXXXX: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................
+XXXXXXXX: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................
+XXXXXXXX: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................
+XXXXXXXX: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................
+XXXXXXXX: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................
+XXXXXXXX: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................
+XXXXXXXX: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................
+XXXXXXXX: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................
+XXXXXXXX: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................
+XXXXXXXX: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................
+XXXXXXXX: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................
+XXXXXXXX: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................
+read 512/512 bytes
XXX Bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
--
2.15.1
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [PATCH 5/5] fstests: btrfs/143: Filter out offset to handle mkfs chunk layout change
2018-01-11 6:55 [PATCH 1/5] fstests: filter: Introduce filter to filter out offset for xfs_io Qu Wenruo
` (2 preceding siblings ...)
2018-01-11 6:56 ` [PATCH 4/5] fstests: btrfs/142: " Qu Wenruo
@ 2018-01-11 6:56 ` Qu Wenruo
2018-01-11 7:23 ` [PATCH 1/5] fstests: filter: Introduce filter to filter out offset for xfs_io Eryu Guan
4 siblings, 0 replies; 7+ messages in thread
From: Qu Wenruo @ 2018-01-11 6:56 UTC (permalink / raw)
To: linux-btrfs, fstests; +Cc: dsterba
Due to recent mkfs.btrfs chunk layout change, offset in golden output is
not flex to handle different mkfs chunk layout.
So use _filter_xfs_io_offset to filter out offset so golden output can
handle any chunk layout.
Signed-off-by: Qu Wenruo <wqu@suse.com>
---
tests/btrfs/143 | 9 ++++---
tests/btrfs/143.out | 70 ++++++++++++++++++++++++++---------------------------
2 files changed, 41 insertions(+), 38 deletions(-)
diff --git a/tests/btrfs/143 b/tests/btrfs/143
index 3875b6c4..ca51d35e 100755
--- a/tests/btrfs/143
+++ b/tests/btrfs/143
@@ -106,7 +106,8 @@ _scratch_pool_mkfs $mkfs_opts >>$seqres.full 2>&1
# chunk
_scratch_mount -o nospace_cache,nodatasum
-$XFS_IO_PROG -f -d -c "pwrite -S 0xaa -b 128K 0 128K" "$SCRATCH_MNT/foobar" | _filter_xfs_io
+$XFS_IO_PROG -f -d -c "pwrite -S 0xaa -b 128K 0 128K" "$SCRATCH_MNT/foobar" |\
+ _filter_xfs_io | _filter_xfs_io_offset
# step 2, corrupt the first 64k of one copy (on SCRATCH_DEV which is the first
# one in $SCRATCH_DEV_POOL
@@ -117,7 +118,8 @@ logical_in_btrfs=`${FILEFRAG_PROG} -v $SCRATCH_MNT/foobar | _filter_filefrag | c
physical_on_scratch=`get_physical ${logical_in_btrfs}`
_scratch_unmount
-$XFS_IO_PROG -d -c "pwrite -S 0xbb -b 64K $physical_on_scratch 64K" $SCRATCH_DEV | _filter_xfs_io
+$XFS_IO_PROG -d -c "pwrite -S 0xbb -b 64K $physical_on_scratch 64K" $SCRATCH_DEV |\
+ _filter_xfs_io | _filter_xfs_io_offset
_scratch_mount -o nospace_cache
@@ -142,7 +144,8 @@ done
_scratch_unmount
# check if the repair works
-$XFS_IO_PROG -c "pread -v -b 512 $physical_on_scratch 512" $SCRATCH_DEV | _filter_xfs_io
+$XFS_IO_PROG -c "pread -v -b 512 $physical_on_scratch 512" $SCRATCH_DEV |\
+ _filter_xfs_io | _filter_xfs_io_offset
_scratch_dev_pool_put
# success, all done
diff --git a/tests/btrfs/143.out b/tests/btrfs/143.out
index 97bf45c5..66afea4b 100644
--- a/tests/btrfs/143.out
+++ b/tests/btrfs/143.out
@@ -1,39 +1,39 @@
QA output created by 143
-wrote 131072/131072 bytes at offset 0
+wrote 131072/131072 bytes
XXX Bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
-wrote 65536/65536 bytes at offset 136708096
+wrote 65536/65536 bytes
XXX Bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
-08260000: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................
-08260010: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................
-08260020: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................
-08260030: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................
-08260040: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................
-08260050: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................
-08260060: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................
-08260070: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................
-08260080: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................
-08260090: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................
-082600a0: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................
-082600b0: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................
-082600c0: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................
-082600d0: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................
-082600e0: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................
-082600f0: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................
-08260100: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................
-08260110: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................
-08260120: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................
-08260130: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................
-08260140: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................
-08260150: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................
-08260160: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................
-08260170: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................
-08260180: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................
-08260190: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................
-082601a0: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................
-082601b0: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................
-082601c0: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................
-082601d0: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................
-082601e0: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................
-082601f0: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................
-read 512/512 bytes at offset 136708096
+XXXXXXXX: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................
+XXXXXXXX: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................
+XXXXXXXX: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................
+XXXXXXXX: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................
+XXXXXXXX: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................
+XXXXXXXX: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................
+XXXXXXXX: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................
+XXXXXXXX: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................
+XXXXXXXX: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................
+XXXXXXXX: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................
+XXXXXXXX: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................
+XXXXXXXX: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................
+XXXXXXXX: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................
+XXXXXXXX: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................
+XXXXXXXX: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................
+XXXXXXXX: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................
+XXXXXXXX: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................
+XXXXXXXX: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................
+XXXXXXXX: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................
+XXXXXXXX: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................
+XXXXXXXX: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................
+XXXXXXXX: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................
+XXXXXXXX: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................
+XXXXXXXX: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................
+XXXXXXXX: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................
+XXXXXXXX: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................
+XXXXXXXX: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................
+XXXXXXXX: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................
+XXXXXXXX: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................
+XXXXXXXX: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................
+XXXXXXXX: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................
+XXXXXXXX: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................
+read 512/512 bytes
XXX Bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
--
2.15.1
^ permalink raw reply related [flat|nested] 7+ messages in thread
* Re: [PATCH 1/5] fstests: filter: Introduce filter to filter out offset for xfs_io
2018-01-11 6:55 [PATCH 1/5] fstests: filter: Introduce filter to filter out offset for xfs_io Qu Wenruo
` (3 preceding siblings ...)
2018-01-11 6:56 ` [PATCH 5/5] fstests: btrfs/143: " Qu Wenruo
@ 2018-01-11 7:23 ` Eryu Guan
2018-01-11 7:50 ` Qu Wenruo
4 siblings, 1 reply; 7+ messages in thread
From: Eryu Guan @ 2018-01-11 7:23 UTC (permalink / raw)
To: Qu Wenruo; +Cc: linux-btrfs, fstests, dsterba
On Thu, Jan 11, 2018 at 02:55:57PM +0800, Qu Wenruo wrote:
> Some test cases (AFAIK, btrfs RAID recovery test cases) read out certain
> location to verify its data.
>
> Such read is mostly OK, but the golden output contains the on-disk
> offset, which can differ due to underlying chunk change.
> (This time is mkfs chunk layout change for btrfs)
>
> So introduce macro _filter_xfs_io_offset to filter out the offset part
> wrote 65536/65536 bytes at offset 136708096
> ^^^^^^^^^^^^^^^^^^^^
> And offset from "pread -v"
> 08260000: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................
> ^^^^^^^^^
>
> Reported-by: Nikolay Borisov <nborisov@suse.com>
> Signed-off-by: Qu Wenruo <wqu@suse.com>
> ---
> common/filter | 10 +++++++++-
> 1 file changed, 9 insertions(+), 1 deletion(-)
>
> diff --git a/common/filter b/common/filter
> index 9c33efac..77afcbc4 100644
> --- a/common/filter
> +++ b/common/filter
> @@ -226,6 +226,15 @@ _filter_xfs_io()
> sed -e "s/[0-9/.]* [GMKiBbytes]*, [0-9]* ops\; [0-9/:. sec]* ([infa0-9/.]* [EPGMKiBbytes]*\/sec and [infa0-9/.]* ops\/sec)/XXX Bytes, X ops\; XX:XX:XX.X (XXX YYY\/sec and XXX ops\/sec)/"
> }
>
> +# Also filter out the offset part of xfs_io output
> +# Some test cases may be affected by underlaying extent/chunk layout change,
> +# so wipe out this part to avoid golden output difference
> +_filter_xfs_io_offset()
> +{
> + # filter out " at offset XXX" and offset of "pread -v"
> + sed -e "s/ at offset [0-9]*$//" -e "s/^[0-9a-f]\+:/XXXXXXXX:/"
> +}
> +
I'd put _filter_xfs_io part of _filter_xfs_io_offset, so the callers
don't have to chain the filter themselves, e.g.
- $XFS_IO_PROG ... | _filter_xfs_io | _filter_xfs_io_offset
+ $XFS_IO_PROG ... | _filter_xfs_io_offset
And I perfer folding this 5-patch patchset into a single patch, so the
introduction and the usage of the new helper function together provide a
complete context in git log.
Thanks,
Eryu
> # stderr filter for xfs_io to handle change of error output format (e.g.
> # pwrite64 -> pwrite).
> _filter_xfs_io_error()
> @@ -277,7 +286,6 @@ _filter_xfs_io_pages_modified()
> _filter_xfs_io_units_modified "Page" $PAGE_SIZE
> }
>
> -
> _filter_test_dir()
> {
> # TEST_DEV may be a prefix of TEST_DIR (e.g. /mnt, /mnt/ovl-mnt)
> --
> 2.15.1
>
> --
> To unsubscribe from this list: send the line "unsubscribe fstests" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH 1/5] fstests: filter: Introduce filter to filter out offset for xfs_io
2018-01-11 7:23 ` [PATCH 1/5] fstests: filter: Introduce filter to filter out offset for xfs_io Eryu Guan
@ 2018-01-11 7:50 ` Qu Wenruo
0 siblings, 0 replies; 7+ messages in thread
From: Qu Wenruo @ 2018-01-11 7:50 UTC (permalink / raw)
To: Eryu Guan, Qu Wenruo; +Cc: linux-btrfs, fstests, dsterba
[-- Attachment #1.1: Type: text/plain, Size: 2989 bytes --]
On 2018年01月11日 15:23, Eryu Guan wrote:
> On Thu, Jan 11, 2018 at 02:55:57PM +0800, Qu Wenruo wrote:
>> Some test cases (AFAIK, btrfs RAID recovery test cases) read out certain
>> location to verify its data.
>>
>> Such read is mostly OK, but the golden output contains the on-disk
>> offset, which can differ due to underlying chunk change.
>> (This time is mkfs chunk layout change for btrfs)
>>
>> So introduce macro _filter_xfs_io_offset to filter out the offset part
>> wrote 65536/65536 bytes at offset 136708096
>> ^^^^^^^^^^^^^^^^^^^^
>> And offset from "pread -v"
>> 08260000: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa ................
>> ^^^^^^^^^
>>
>> Reported-by: Nikolay Borisov <nborisov@suse.com>
>> Signed-off-by: Qu Wenruo <wqu@suse.com>
>> ---
>> common/filter | 10 +++++++++-
>> 1 file changed, 9 insertions(+), 1 deletion(-)
>>
>> diff --git a/common/filter b/common/filter
>> index 9c33efac..77afcbc4 100644
>> --- a/common/filter
>> +++ b/common/filter
>> @@ -226,6 +226,15 @@ _filter_xfs_io()
>> sed -e "s/[0-9/.]* [GMKiBbytes]*, [0-9]* ops\; [0-9/:. sec]* ([infa0-9/.]* [EPGMKiBbytes]*\/sec and [infa0-9/.]* ops\/sec)/XXX Bytes, X ops\; XX:XX:XX.X (XXX YYY\/sec and XXX ops\/sec)/"
>> }
>>
>> +# Also filter out the offset part of xfs_io output
>> +# Some test cases may be affected by underlaying extent/chunk layout change,
>> +# so wipe out this part to avoid golden output difference
>> +_filter_xfs_io_offset()
>> +{
>> + # filter out " at offset XXX" and offset of "pread -v"
>> + sed -e "s/ at offset [0-9]*$//" -e "s/^[0-9a-f]\+:/XXXXXXXX:/"
>> +}
>> +
>
> I'd put _filter_xfs_io part of _filter_xfs_io_offset, so the callers
> don't have to chain the filter themselves, e.g.
>
> - $XFS_IO_PROG ... | _filter_xfs_io | _filter_xfs_io_offset
> + $XFS_IO_PROG ... | _filter_xfs_io_offset
>
> And I perfer folding this 5-patch patchset into a single patch, so the
> introduction and the usage of the new helper function together provide a
> complete context in git log.
No problem, update on the way.
Thanks,
Qu
>
> Thanks,
> Eryu
>
>> # stderr filter for xfs_io to handle change of error output format (e.g.
>> # pwrite64 -> pwrite).
>> _filter_xfs_io_error()
>> @@ -277,7 +286,6 @@ _filter_xfs_io_pages_modified()
>> _filter_xfs_io_units_modified "Page" $PAGE_SIZE
>> }
>>
>> -
>> _filter_test_dir()
>> {
>> # TEST_DEV may be a prefix of TEST_DIR (e.g. /mnt, /mnt/ovl-mnt)
>> --
>> 2.15.1
>>
>> --
>> To unsubscribe from this list: send the line "unsubscribe fstests" in
>> the body of a message to majordomo@vger.kernel.org
>> More majordomo info at http://vger.kernel.org/majordomo-info.html
> --
> To unsubscribe from this list: send the line "unsubscribe fstests" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
>
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 520 bytes --]
^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2018-01-11 7:50 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-01-11 6:55 [PATCH 1/5] fstests: filter: Introduce filter to filter out offset for xfs_io Qu Wenruo
2018-01-11 6:55 ` [PATCH 2/5] fstests: btrfs/140: Filter out offset to handle mkfs chunk layout change Qu Wenruo
2018-01-11 6:55 ` [PATCH 3/5] fstests: btrfs/141: " Qu Wenruo
2018-01-11 6:56 ` [PATCH 4/5] fstests: btrfs/142: " Qu Wenruo
2018-01-11 6:56 ` [PATCH 5/5] fstests: btrfs/143: " Qu Wenruo
2018-01-11 7:23 ` [PATCH 1/5] fstests: filter: Introduce filter to filter out offset for xfs_io Eryu Guan
2018-01-11 7:50 ` Qu Wenruo
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox