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 04/20] Fix xfs/074 to work with 64k block size
Date: Mon, 24 Sep 2018 20:49:26 +0530 [thread overview]
Message-ID: <20180924151942.8220-5-chandan@linux.vnet.ibm.com> (raw)
In-Reply-To: <20180924151942.8220-1-chandan@linux.vnet.ibm.com>
This commit makes file and extent size calculations to be a function of
the filesystem's block size. It also adds a brief description of the
bug that is being tested.
Signed-off-by: Chandan Rajendra <chandan@linux.vnet.ibm.com>
---
tests/xfs/074 | 23 +++++++++++++++++++----
1 file changed, 19 insertions(+), 4 deletions(-)
diff --git a/tests/xfs/074 b/tests/xfs/074
index e5888d5..c10a7d0 100755
--- a/tests/xfs/074
+++ b/tests/xfs/074
@@ -7,6 +7,18 @@
# Check some extent size hint boundary conditions that can result in
# MAXEXTLEN overflows.
#
+# In xfs_bmap_extsize_align(), we had,
+# if ((temp = (align_alen % extsz))) {
+# align_alen += extsz - temp;
+# }
+# align_alen had the value of 2097151 (i.e. MAXEXTLEN) blocks. extsz had
+# the value of 4096 blocks.
+#
+# align_alen % extsz will be 4095. so align_alen will end up having
+# 2097151 + (4096 - 4095) = 2097152 i.e. (MAXEXTLEN + 1). Thus the length
+# of the new extent will be larger than MAXEXTLEN. This will later cause
+# the bmbt leaf to have an entry whose length is set to zero block count.
+#
seq=`basename $0`
seqres=$RESULT_DIR/$seq
echo "QA output created by $seq"
@@ -46,19 +58,22 @@ mkdir -p $LOOP_MNT
$XFS_IO_PROG -ft -c "truncate 1t" $LOOP_FILE >> $seqres.full
LOOP_DEV=`_create_loop_device $LOOP_FILE`
-_mkfs_dev -d size=156452m,agcount=4 -l size=32m $LOOP_DEV
+_mkfs_dev -d size=260g,agcount=2 $LOOP_DEV
_mount $LOOP_DEV $LOOP_MNT
+BLOCK_SIZE=$(_get_file_block_size $LOOP_MNT)
+
# Corrupt the BMBT by creating extents larger than MAXEXTLEN
+# For 4k blocksize, MAXEXTLEN * 4k = 2097151 * 4k = 8589930496 = ~8GiB
$XFS_IO_PROG -ft \
- -c "extsize 16m" \
- -c "falloc 0 30g" \
+ -c "extsize $(($BLOCK_SIZE * 4096))" \
+ -c "falloc 0 $(($BLOCK_SIZE * 2097152))" \
$LOOP_MNT/foo >> $seqres.full
umount $LOOP_MNT
_check_xfs_filesystem $LOOP_DEV none none
-_mkfs_dev -f -l size=32m $LOOP_DEV
+_mkfs_dev -f $LOOP_DEV
_mount $LOOP_DEV $LOOP_MNT
# check we trim both ends of the extent approproiately; this will fail
--
2.9.5
next prev parent reply other threads:[~2018-09-24 21:20 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 ` Chandan Rajendra [this message]
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 ` [PATCH V5 15/20] Fix generic/177 to work with 64k " Chandan Rajendra
2018-09-24 15:19 ` [PATCH V5 16/20] Fix generic/230 " 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-5-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).