aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBill O'Donnell <bodonnel@redhat.com>2023-08-28 12:23:07 -0500
committerZorro Lang <zlang@kernel.org>2023-09-02 03:37:15 +0800
commit0fc226e7eac1fb6b0989c12930afc7e71665ff5d (patch)
treefa091da3e23dbdefc2c0b84dce234523182da6b4
parent9445d70f0fd62dbf010df5c2b96810b6ec77c943 (diff)
downloadxfstests-dev-0fc226e7eac1fb6b0989c12930afc7e71665ff5d.tar.gz
fstests: generic/352 should accomodate other pwrite behaviors
xfs_io pwrite issues a series of block size writes, but there is no guarantee that the resulting extent(s) will be singular or contiguous. This behavior is acceptable, but the test is flawed in that it expects a single extent for a pwrite. Modify test to limit pwrite and reflink to a single block. Signed-off-by: Bill O'Donnell <bodonnel@redhat.com> Reviewed-by: Eric Sandeen <sandeen@redhat.com> Signed-off-by: Zorro Lang <zlang@kernel.org>
-rwxr-xr-xtests/generic/35210
-rw-r--r--tests/generic/352.out6
2 files changed, 8 insertions, 8 deletions
diff --git a/tests/generic/352 b/tests/generic/352
index 52ec485074..acc17dac38 100755
--- a/tests/generic/352
+++ b/tests/generic/352
@@ -28,14 +28,16 @@ _require_xfs_io_command "fiemap"
_scratch_mkfs > /dev/null 2>&1
_scratch_mount
-blocksize=$((128 * 1024))
+blocksize=$(_get_file_block_size $SCRATCH_MNT)
_require_congruent_file_oplen $SCRATCH_MNT $blocksize
file="$SCRATCH_MNT/tmp"
# Golden output is for $LOAD_FACTOR == 1 case
+# and assumes a normal blocksize of 4K
orig_nr=8192
-orig_last_extent=$(($orig_nr * $blocksize / 512))
-orig_end=$(($orig_last_extent + $blocksize / 512 - 1))
+orig_blocksize=4096
+orig_last_extent=$(($orig_nr * $orig_blocksize / 512))
+orig_end=$(($orig_last_extent + $orig_blocksize / 512 - 1))
# Real output
nr=$(($orig_nr * $LOAD_FACTOR))
@@ -43,7 +45,7 @@ last_extent=$(($nr * $blocksize / 512))
end=$(($last_extent + $blocksize / 512 - 1))
# write the initial block for later reflink
-_pwrite_byte 0xcdcdcdcd 0 $blocksize $file | _filter_xfs_io
+_pwrite_byte 0xcdcdcdcd 0 $blocksize $file > /dev/null
# use reflink to create the rest of the file, whose all extents are all
# pointing to the first extent
diff --git a/tests/generic/352.out b/tests/generic/352.out
index 4ff66c21fa..454ff52f00 100644
--- a/tests/generic/352.out
+++ b/tests/generic/352.out
@@ -1,5 +1,3 @@
QA output created by 352
-wrote 131072/131072 bytes at offset 0
-XXX Bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
-0: [0..2097151]: shared
-1: [2097152..2097407]: shared|last
+0: [0..65535]: shared
+1: [65536..65543]: shared|last