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.
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