From: Chandan Rajendra <chandan@linux.vnet.ibm.com>
To: fstests@vger.kernel.org
Cc: Chandan Rajendra <chandan@linux.vnet.ibm.com>,
guaneryu@gmail.com, darrick.wong@oracle.com, zlang@redhat.com,
linux-xfs@vger.kernel.org
Subject: [PATCH V5 15/20] Fix generic/177 to work with 64k block size
Date: Mon, 24 Sep 2018 20:49:37 +0530 [thread overview]
Message-ID: <20180924151942.8220-16-chandan@linux.vnet.ibm.com> (raw)
In-Reply-To: <20180924151942.8220-1-chandan@linux.vnet.ibm.com>
This commit changes the test to work on file offsets that are aligned
with the block size of the underlying filesystem.
Signed-off-by: Chandan Rajendra <chandan@linux.vnet.ibm.com>
---
tests/generic/177 | 20 +++++++++++---------
tests/generic/177.out | 23 +++++++++++++++--------
2 files changed, 26 insertions(+), 17 deletions(-)
diff --git a/tests/generic/177 b/tests/generic/177
index 36577b1..febb6b7 100755
--- a/tests/generic/177
+++ b/tests/generic/177
@@ -45,44 +45,46 @@ _require_metadata_journaling $SCRATCH_DEV
_init_flakey
_mount_flakey
+BLOCK_SIZE=$(_get_file_block_size $SCRATCH_MNT)
+
# Create out test file with some data and then fsync it.
# We do the fsync only to make sure the last fsync we do in this test triggers
# the fast code path of btrfs' fsync implementation, a condition necessary to
# trigger the bug btrfs had.
-$XFS_IO_PROG -f -c "pwrite -S 0xaa 0K 128K" \
+$XFS_IO_PROG -f -c "pwrite -S 0xaa 0K $(($BLOCK_SIZE * 32))" \
-c "fsync" \
- $SCRATCH_MNT/foobar | _filter_xfs_io
+ $SCRATCH_MNT/foobar | _filter_xfs_io_blocks_modified
# Now punch a hole against the range [96K, 128K[.
-$XFS_IO_PROG -c "fpunch 96K 32K" $SCRATCH_MNT/foobar
+$XFS_IO_PROG -c "fpunch $(($BLOCK_SIZE * 24)) $(($BLOCK_SIZE * 8))" $SCRATCH_MNT/foobar
# Punch another hole against a range that overlaps the previous range and ends
# beyond eof.
-$XFS_IO_PROG -c "fpunch 64K 128K" $SCRATCH_MNT/foobar
+$XFS_IO_PROG -c "fpunch $(($BLOCK_SIZE * 16)) $(($BLOCK_SIZE * 32))" $SCRATCH_MNT/foobar
# Punch another hole against a range that overlaps the first range ([96K, 128K[)
# and ends at eof.
-$XFS_IO_PROG -c "fpunch 32K 96K" $SCRATCH_MNT/foobar
+$XFS_IO_PROG -c "fpunch $(($BLOCK_SIZE * 8)) $(($BLOCK_SIZE * 24))" $SCRATCH_MNT/foobar
# Fsync our file. We want to verify that, after a power failure and mounting the
# filesystem again, the file content reflects all the hole punch operations.
$XFS_IO_PROG -c "fsync" $SCRATCH_MNT/foobar
echo "File digest before power failure:"
-md5sum $SCRATCH_MNT/foobar | _filter_scratch
+od -t x1 $SCRATCH_MNT/foobar | _filter_od
echo "Fiemap before power failure:"
-$XFS_IO_PROG -c "fiemap -v" $SCRATCH_MNT/foobar | _filter_fiemap
+$XFS_IO_PROG -c "fiemap -v" $SCRATCH_MNT/foobar | _filter_fiemap $BLOCK_SIZE
_flakey_drop_and_remount
echo "File digest after log replay:"
# Must match the same digest we got before the power failure.
-md5sum $SCRATCH_MNT/foobar | _filter_scratch
+od -t x1 $SCRATCH_MNT/foobar | _filter_od
echo "Fiemap after log replay:"
# Must match the same extent listing we got before the power failure.
-$XFS_IO_PROG -c "fiemap -v" $SCRATCH_MNT/foobar | _filter_fiemap
+$XFS_IO_PROG -c "fiemap -v" $SCRATCH_MNT/foobar | _filter_fiemap $BLOCK_SIZE
_unmount_flakey
diff --git a/tests/generic/177.out b/tests/generic/177.out
index cc10768..b47e136 100644
--- a/tests/generic/177.out
+++ b/tests/generic/177.out
@@ -1,13 +1,20 @@
QA output created by 177
-wrote 131072/131072 bytes at offset 0
-XXX Bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
+Blocks modified: [0 - 31]
File digest before power failure:
-d26bbb9a8396a9c0dd76423471b72b15 SCRATCH_MNT/foobar
+0 aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa
+*
+10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
+*
+40
Fiemap before power failure:
-0: [0..63]: data
-1: [64..255]: hole
+0: [0..7]: data
+1: [8..31]: hole
File digest after log replay:
-d26bbb9a8396a9c0dd76423471b72b15 SCRATCH_MNT/foobar
+0 aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa
+*
+10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
+*
+40
Fiemap after log replay:
-0: [0..63]: data
-1: [64..255]: hole
+0: [0..7]: data
+1: [8..31]: hole
--
2.9.5
next prev parent reply other threads:[~2018-09-24 21:21 UTC|newest]
Thread overview: 23+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-09-24 15:19 [PATCH V5 00/20] Fix tests to work on non-4k block sized fs instances Chandan Rajendra
2018-09-24 15:19 ` [PATCH V5 01/20] Fix xfs/009 to work with 64k block size Chandan Rajendra
2018-09-24 15:19 ` [PATCH V5 02/20] xfs/050: Fix "Push past soft inode limit" case Chandan Rajendra
2018-09-24 15:19 ` [PATCH V5 03/20] Fix xfs/050 to work with 64k block size Chandan Rajendra
2018-09-24 15:19 ` [PATCH V5 04/20] Fix xfs/074 " Chandan Rajendra
2018-09-24 15:19 ` [PATCH V5 05/20] Fix xfs/127 " Chandan Rajendra
2018-09-24 15:19 ` [PATCH V5 06/20] Fix xfs/139 " Chandan Rajendra
2018-10-06 0:33 ` Dave Chinner
2018-10-06 6:51 ` Chandan Rajendra
2018-09-24 15:19 ` [PATCH V5 07/20] Fix xfs/140 " Chandan Rajendra
2018-09-24 15:19 ` [PATCH V5 08/20] Fix xfs/190 " Chandan Rajendra
2018-09-24 15:19 ` [PATCH V5 09/20] xfs/299: Fix "Push past soft inode limit" case Chandan Rajendra
2018-09-24 15:19 ` [PATCH V5 10/20] Fix xfs/299 to work with 64k block size Chandan Rajendra
2018-09-24 15:19 ` [PATCH V5 11/20] xfs/325: Inject free_extent error after CoW operation Chandan Rajendra
2018-09-24 15:19 ` [PATCH V5 12/20] Fix generic/102 to work with 64k block size Chandan Rajendra
2018-09-24 15:19 ` [PATCH V5 13/20] Fix generic/172 " Chandan Rajendra
2018-09-24 15:19 ` [PATCH V5 14/20] Filter fiemap output by FS " Chandan Rajendra
2018-09-24 15:19 ` Chandan Rajendra [this message]
2018-09-24 15:19 ` [PATCH V5 16/20] Fix generic/230 to work with 64k " Chandan Rajendra
2018-09-24 15:19 ` [PATCH V5 17/20] Fix generic/235 " Chandan Rajendra
2018-09-24 15:19 ` [PATCH V5 18/20] Fix generic/459 " Chandan Rajendra
2018-09-24 15:19 ` [PATCH V5 19/20] Fix generic/018 " Chandan Rajendra
2018-09-24 15:19 ` [PATCH V5 20/20] Fix generic/108 " Chandan Rajendra
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20180924151942.8220-16-chandan@linux.vnet.ibm.com \
--to=chandan@linux.vnet.ibm.com \
--cc=darrick.wong@oracle.com \
--cc=fstests@vger.kernel.org \
--cc=guaneryu@gmail.com \
--cc=linux-xfs@vger.kernel.org \
--cc=zlang@redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).