mirror of
https://github.com/linux-apfs/apfstests.git
synced 2026-05-01 15:01:44 -07:00
generic/230: work with 64k block size
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> Tested-by: Zorro Lang <zlang@redhat.com> Signed-off-by: Eryu Guan <guaneryu@gmail.com>
This commit is contained in:
committed by
Eryu Guan
parent
b206b62abc
commit
5eb645e8b6
+13
-10
@@ -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
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user