Test 091 fails on sector size != 512 bytes
authorDave Chinner <dgc@sgi.com>
Tue, 8 Apr 2008 04:00:40 +0000 (04:00 +0000)
committerDave Chinner <dgc@sgi.com>
Tue, 8 Apr 2008 04:00:40 +0000 (04:00 +0000)
Test 091 assumes a direct I/O alignment of 512 bytes,
a hold over from 2.4 kernels. On 2.6. kernels, direct
I/O needs to be aligned to the sector size the filesystem
was mkfs'd with.
Merge of master-melb:xfs-cmds:30760a by kenmcd.

  Teach 091 about 2.6 kernels and grab the sector size from the
  xfs_info output.

091

diff --git a/091 b/091
index d4ef90924ebd7089dc308834272afdb4f057f267..b9537fd00ac869334642a30accf3a9fc4d9a8f0b 100755 (executable)
--- a/091
+++ b/091
@@ -43,10 +43,20 @@ run_fsx()
 
 psize=`$here/src/feature -s`
 bsize=512
-# 2.4 Linux kernels support bsize aligned direct I/O only
 kernel=`uname -r  | sed -e 's/\(2\..\).*/\1/'`
+
+# 2.4 Linux kernels support bsize aligned direct I/O only
 [ "$HOSTOS" = "Linux" -a "$kernel" = "2.4" ] && bsize=$psize
 
+# 2.6 Linux kernels support sector aligned direct I/O only
+if [ "$HOSTOS" = "Linux" -a "$kernel" = "2.6" ]; then
+       xfs_info $TEST_DIR | _filter_mkfs 2> $tmp.info
+       if [ $? -eq 0 ]; then
+               source $tmp.info
+               bsize=$sectsz
+       fi
+fi
+
 # fsx usage:
 # 
 # -N numops: total # operations to do