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.
Teach 091 about 2.6 kernels and grab the sector size from the
xfs_info output.
Signed-off-by: Dave Chinner <dgc@xxxxxxx>
---
xfstests/091 | 12 +++++++++++-
1 file changed, 11 insertions(+), 1 deletion(-)
Index: xfs-cmds/xfstests/091
===================================================================
--- xfs-cmds.orig/xfstests/091 2007-03-19 08:49:37.000000000 +1100
+++ xfs-cmds/xfstests/091 2008-04-02 15:27:39.266824430 +1000
@@ -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
|