@@ -32,15 +32,6 @@ here=`pwd`
tmp=/tmp/$$
status=1 # failure is the default!
-do_pwrite()
-{
- offset=`expr $1 \* 512`
- end=`expr $2 \* 512`
- length=`expr $end - $offset`
-
- xfs_io -d -f $file -c "pwrite $offset $length" >/dev/null
-}
-
_cleanup()
{
umount $SCRATCH_MNT
@@ -57,6 +48,17 @@ _supported_os Linux
file=$SCRATCH_MNT/f
+min_align=`_min_dio_alignment $SCRATCH_DEV`
+
+do_pwrite()
+{
+ offset=`expr $1 \* $min_align`
+ end=`expr $2 \* $min_align`
+ length=`expr $end - $offset`
+
+ xfs_io -d -f $file -c "pwrite $offset $length" >/dev/null
+}
+
_require_scratch
_scratch_mkfs_xfs >/dev/null 2>&1
This case use hard-code 512, but in 4k sector size device, it will fail. So I call _min_dio_alignment() to get the sector size, then replace `512`. Signed-off-by: Zorro Lang <zlang@redhat.com> --- tests/xfs/201 | 20 +++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-)