Skip to contentSkip to conversation

xfstests 235: do smaller test IO

PATCH In review Eric Sandeen 2 participants 4 messages Mar 26, 2012 – Mar 27, 2012

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 xfstests 235: do smaller test IO

Test 235 fails on ext2/ext3 with 1024 fs block size because a 16k write uses an extra metadata block. If we do a smaller write this won't happen.

Reported by: Eryu Guan <[email protected]>

---

235 +1 -1
index 7150fca..0c2ae8f 100755
@@ -70,7 +70,7 @@ mount -o remount,ro $SCRATCH_DEV 2>&1 | tee -a $seq.full | _filter_scratch
 touch $SCRATCH_MNT/failed 2>&1 | tee -a $seq.full | _filter_scratch
 mount -o remount,rw $SCRATCH_DEV 2>&1 | tee -a $seq.full | _filter_scratch
 
-$XFS_IO_PROG -F -c 'pwrite 0 16k' -c 'fsync' \
+$XFS_IO_PROG -F -c 'pwrite 0 8k' -c 'fsync' \
 			$SCRATCH_MNT/testfile >>$seq.full 2>&1
 repquota -u -g $SCRATCH_MNT  | grep -v "^root" | _filter_scratch
 
235.out +2 -2
index 345e29d..a095694 100644
@@ -21,7 +21,7 @@ Block grace time: 7days; Inode grace time: 7days
                         Block limits                File limits
 User            used    soft    hard  grace    used  soft  hard  grace
 ----------------------------------------------------------------------
-fsgqa     --      16       0       0              1     0     0       
+fsgqa     --       8       0       0              1     0     0       
 
 
 *** Report for group quotas on device SCRATCH_DEV
@@ -29,6 +29,6 @@ Block grace time: 7days; Inode grace time: 7days
                         Block limits                File limits
 Group           used    soft    hard  grace    used  soft  hard  grace
 ----------------------------------------------------------------------
-fsgqa     --      16       0       0              1     0     0       
+fsgqa     --       8       0       0              1     0     0       
 
 

_______________________________________________
xfs mailing list
[email protected]
http://oss.sgi.com/mailman/listinfo/xfs

#1 lore raw
Quoted 3 lines · Eric Sandeen

Test 235 fails on ext2/ext3 with 1024 fs block size because a 16k write uses an extra metadata block. If we do a smaller write this won't happen.

.....

Quoted 3 lines

-$XFS_IO_PROG -F -c 'pwrite 0 16k' -c 'fsync' \
+$XFS_IO_PROG -F -c 'pwrite 0 8k' -c 'fsync' \

So now it fails only on 512 byte block size filesystems?

Perhaps rather than an exact match, a "within_tolerance" match could be done on the relevant fields?

i.e something like:

blksused={requota cmd} | awk '/fsgqa/ { print $3 }' _within_tolerance "blocks used" $blksused 16 1

If you wanted to get really fancy, the tolerance could be set depending on filesystem type and block size, but I don't think that is really necessary....

Cheers,

Dave.

Signature · 7 lines
Dave Chinner
[email protected]

_______________________________________________
xfs mailing list
[email protected]
http://oss.sgi.com/mailman/listinfo/xfs
#2 lore raw
Quoted 10 lines · Dave Chinner
Quoted 3 lines · Eric Sandeen

Test 235 fails on ext2/ext3 with 1024 fs block size because a 16k write uses an extra metadata block. If we do a smaller write this won't happen.

.....

Quoted 3 lines

-$XFS_IO_PROG -F -c 'pwrite 0 16k' -c 'fsync' \
+$XFS_IO_PROG -F -c 'pwrite 0 8k' -c 'fsync' \

So now it fails only on 512 byte block size filesystems?

ext[23] don't do 512 byte block filesystems, so no. ;)

Quoted 11 lines

Perhaps rather than an exact match, a "within_tolerance" match could be done on the relevant fields?

i.e something like:

blksused={requota cmd} | awk '/fsgqa/ { print $3 }' _within_tolerance "blocks used" $blksused 16 1

If you wanted to get really fancy, the tolerance could be set depending on filesystem type and block size, but I don't think that is really necessary....

But I don't want to get really fancy, I spend enough time in xfstests already. ;)

TBH even the _within_tolerance will take more munging around to get right, it doesn't seem worth it, but if it's required for a review, ok...

-Eric

Quoted 3 lines

Cheers,

Dave.

_______________________________________________
xfs mailing list
[email protected]
http://oss.sgi.com/mailman/listinfo/xfs

Reviewed-by
#3 lore raw
Quoted 5 lines · Eric Sandeen
Quoted 4 lines · Dave Chinner
Quoted 3 lines · Eric Sandeen

Test 235 fails on ext2/ext3 with 1024 fs block size because a 16k write uses an extra metadata block. If we do a smaller write this won't happen.

Quoted 8 lines
Quoted 6 lines

.....

Quoted 3 lines

-$XFS_IO_PROG -F -c 'pwrite 0 16k' -c 'fsync' \
+$XFS_IO_PROG -F -c 'pwrite 0 8k' -c 'fsync' \

So now it fails only on 512 byte block size filesystems?

ext[23] don't do 512 byte block filesystems, so no. ;)

Oh, I forgot about that. Well, just ignore me.

Signature · 7 lines
Dave Chinner
[email protected]

_______________________________________________
xfs mailing list
[email protected]
http://oss.sgi.com/mailman/listinfo/xfs