linux-xfs.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
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 16/20] Fix generic/230 to work with 64k block size
Date: Mon, 24 Sep 2018 20:49:38 +0530	[thread overview]
Message-ID: <20180924151942.8220-17-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/230     | 23 +++++++++++++----------
 tests/generic/230.out | 16 ++++++++--------
 2 files changed, 21 insertions(+), 18 deletions(-)

diff --git a/tests/generic/230 b/tests/generic/230
index bc8c1ad..66b12d2 100755
--- a/tests/generic/230
+++ b/tests/generic/230
@@ -42,27 +42,27 @@ test_enforcement()
 	echo "### some buffered IO (type=$type)"
 	echo "--- initiating IO..." >>$seqres.full
 	# Firstly fit below block soft limit
-	echo "Write 900k..."
-	su $qa_user -c "$XFS_IO_PROG -c 'pwrite 0 900k' -c fsync \
+	echo "Write 225 blocks..."
+	su $qa_user -c "$XFS_IO_PROG -c 'pwrite 0 $((225 * $BLOCK_SIZE))' -c fsync \
 		$SCRATCH_MNT/file1" 2>&1 >>$seqres.full | \
 		_filter_xfs_io_error | tee -a $seqres.full
 	repquota -$type $SCRATCH_MNT  | grep -v "^root" >>$seqres.full 2>&1
 	# Secondly overcome block soft limit
-	echo "Rewrite 1001k..."
-	su $qa_user -c "$XFS_IO_PROG -c 'pwrite 0 1001k' -c fsync \
+	echo "Rewrite 250 blocks plus 1 byte..."
+	su $qa_user -c "$XFS_IO_PROG -c 'pwrite 0 $((250 * $BLOCK_SIZE + 1))' -c fsync \
 		$SCRATCH_MNT/file1" 2>&1 >>$seqres.full | \
 		_filter_xfs_io_error | tee -a $seqres.full
 	repquota -$type $SCRATCH_MNT  | grep -v "^root" >>$seqres.full 2>&1
 	# Now try to overcome block hardlimit
-	echo "Write 1000k..."
-	su $qa_user -c "$XFS_IO_PROG -c 'pwrite 0 1000k' -c fsync \
+	echo "Write 250 blocks..."
+	su $qa_user -c "$XFS_IO_PROG -c 'pwrite 0 $((250 * $BLOCK_SIZE))' -c fsync \
 		$SCRATCH_MNT/file2" 2>&1 >>$seqres.full | \
 		_filter_xfs_io_error | tee -a $seqres.full
 	repquota -$type $SCRATCH_MNT  | grep -v "^root" >>$seqres.full 2>&1
 	# Now sleep for grace time and check that softlimit got enforced
 	sleep $((grace+1))
-	echo "Write 4096..."
-	su $qa_user -c "$XFS_IO_PROG -c 'truncate 0' -c 'pwrite 0 4096' \
+	echo "Write 1 block..."
+	su $qa_user -c "$XFS_IO_PROG -c 'truncate 0' -c 'pwrite 0 $BLOCK_SIZE' \
 		$SCRATCH_MNT/file2" 2>&1 >>$seqres.full | \
 		_filter_xfs_io_error | tee -a $seqres.full
 	repquota -$type $SCRATCH_MNT  | grep -v "^root" >>$seqres.full 2>&1
@@ -101,11 +101,14 @@ grace=2
 
 _scratch_mkfs >> $seqres.full 2>&1
 _scratch_mount "-o usrquota,grpquota"
+BLOCK_SIZE=$(_get_file_block_size $SCRATCH_MNT)
 quotacheck -u -g $SCRATCH_MNT 2>/dev/null
 quotaon $SCRATCH_MNT 2>/dev/null
-setquota -u $qa_user 1000 2000 3 5 $SCRATCH_MNT
+setquota -u $qa_user $((250 * $BLOCK_SIZE / 1024)) \
+	 $((500 * $BLOCK_SIZE / 1024)) 3 5 $SCRATCH_MNT
 setquota -u -t $grace $grace $SCRATCH_MNT
-setquota -g $qa_user 1000 2000 3 5 $SCRATCH_MNT
+setquota -g $qa_user $((250 * $BLOCK_SIZE / 1024)) \
+	 $((500 * $BLOCK_SIZE / 1024)) 3 5 $SCRATCH_MNT
 setquota -g -t $grace $grace $SCRATCH_MNT
 _scratch_unmount
 
diff --git a/tests/generic/230.out b/tests/generic/230.out
index fcbacf2..9e89a47 100644
--- a/tests/generic/230.out
+++ b/tests/generic/230.out
@@ -4,11 +4,11 @@ QA output created by 230
 
 ### create files, setting up ownership (type=u)
 ### some buffered IO (type=u)
-Write 900k...
-Rewrite 1001k...
-Write 1000k...
+Write 225 blocks...
+Rewrite 250 blocks plus 1 byte...
+Write 250 blocks...
 pwrite: Disk quota exceeded
-Write 4096...
+Write 1 block...
 pwrite: Disk quota exceeded
 Touch 3+4
 Touch 5+6
@@ -20,11 +20,11 @@ touch: cannot touch 'SCRATCH_MNT/file5': Disk quota exceeded
 
 ### create files, setting up ownership (type=g)
 ### some buffered IO (type=g)
-Write 900k...
-Rewrite 1001k...
-Write 1000k...
+Write 225 blocks...
+Rewrite 250 blocks plus 1 byte...
+Write 250 blocks...
 pwrite: Disk quota exceeded
-Write 4096...
+Write 1 block...
 pwrite: Disk quota exceeded
 Touch 3+4
 Touch 5+6
-- 
2.9.5

  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 ` [PATCH V5 15/20] Fix generic/177 to work with 64k " Chandan Rajendra
2018-09-24 15:19 ` Chandan Rajendra [this message]
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-17-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).