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,
linux-xfs@vger.kernel.org
Subject: [PATCH V3 14/19] Fix generic/177 to work with 64k block size
Date: Wed, 12 Sep 2018 11:56:21 +0530 [thread overview]
Message-ID: <20180912062626.14349-15-chandan@linux.vnet.ibm.com> (raw)
In-Reply-To: <20180912062626.14349-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..069bb81 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_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-12 11:27 UTC|newest]
Thread overview: 29+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-09-12 6:26 [PATCH V3 00/19] Fix tests to work on non-4k block sized fs instances Chandan Rajendra
2018-09-12 6:26 ` [PATCH V3 01/19] Fix xfs/009 to work with 64k block size Chandan Rajendra
2018-09-17 22:59 ` Darrick J. Wong
2018-09-18 3:18 ` Theodore Y. Ts'o
2018-09-18 3:27 ` Darrick J. Wong
2018-09-18 6:02 ` Chandan Rajendra
2018-09-18 14:36 ` Darrick J. Wong
2018-09-12 6:26 ` [PATCH V3 02/19] xfs/050: Fix "Push past soft inode limit" case Chandan Rajendra
2018-09-12 6:26 ` [PATCH V3 03/19] Fix xfs/050 to work with 64k block size Chandan Rajendra
2018-09-12 6:26 ` [PATCH V3 04/19] Fix xfs/074 " Chandan Rajendra
2018-09-12 6:26 ` [PATCH V3 05/19] Fix xfs/127 " Chandan Rajendra
2018-09-12 6:26 ` [PATCH V3 06/19] Fix xfs/139 " Chandan Rajendra
2018-09-17 22:29 ` Darrick J. Wong
2018-09-18 8:46 ` Chandan Rajendra
2018-09-12 6:26 ` [PATCH V3 07/19] Fix xfs/140 " Chandan Rajendra
2018-09-12 6:26 ` [PATCH V3 08/19] Fix xfs/190 " Chandan Rajendra
2018-09-12 6:26 ` [PATCH V3 09/19] Fix xfs/299 " Chandan Rajendra
2018-09-12 6:26 ` [PATCH V3 10/19] xfs/325: Inject free_extent error after CoW operation Chandan Rajendra
2018-09-12 6:26 ` [PATCH V3 11/19] Fix generic/102 to work with 64k block size Chandan Rajendra
2018-09-12 6:26 ` [PATCH V3 12/19] Fix generic/172 " Chandan Rajendra
2018-09-12 6:26 ` [PATCH V3 13/19] Filter fiemap output by FS " Chandan Rajendra
2018-09-12 6:26 ` Chandan Rajendra [this message]
2018-09-12 6:26 ` [PATCH V3 15/19] Fix generic/230 to work with 64k " Chandan Rajendra
2018-09-12 6:26 ` [PATCH V3 16/19] Fix generic/235 " Chandan Rajendra
2018-09-12 6:26 ` [PATCH V3 17/19] Fix generic/459 " Chandan Rajendra
2018-09-12 6:26 ` [PATCH V3 18/19] Fix generic/018 " Chandan Rajendra
2018-09-12 6:26 ` [PATCH V3 19/19] Fix generic/108 " Chandan Rajendra
2018-09-18 5:20 ` [PATCH V3 00/19] Fix tests to work on non-4k block sized fs instances Zorro Lang
2018-09-18 10:28 ` 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=20180912062626.14349-15-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 \
/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).