[PATCH] generic/252: fix aiocp buffer alignment

Zorro Lang
2017-11-09T08:09:06Z

g/252 fails on 4k hard sector size disk, due to aiocp.c use 512
bytes alignment by default. So use the '-a' option of aiocp, to
specify a proper alignment size.

Signed-off-by: Zorro Lang <zlang@redhat.com>
---

Test this patch with below sector size:
TEST_DEV SCRATCH_DEV
4k 4k
4k 512
512 4k
512 512

All passed.

Thanks,
Zorro

tests/generic/252 | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/tests/generic/252 b/tests/generic/252
index ffedd569..418465b0 100755
--- a/tests/generic/252
+++ b/tests/generic/252
@@ -69,6 +69,7 @@ nr=640
bufnr=128
filesize=$((blksz * nr))
bufsize=$((blksz * bufnr))
+alignment=`_min_dio_alignment $TEST_DEV`

_require_fs_space $SCRATCH_MNT $((filesize / 1024 * 5 / 4))

@@ -85,7 +86,7 @@ $XFS_IO_PROG -f -c "pwrite -S 0x63 $bufsize 1" $testdir/file2 >> $seqres.full
$XFS_IO_PROG -f -c "pwrite -S 0x63 -b $bufsize 0 $filesize" $TEST_DIR/moo >> $seqres.full
sync
_dmerror_load_error_table
-$AIO_TEST -f DIRECT -b $bufsize $TEST_DIR/moo $testdir/file2 >> $seqres.full
+$AIO_TEST -a $alignment -f DIRECT -b $bufsize $TEST_DIR/moo $testdir/file2 >> $seqres.full
_dmerror_load_working_table
_dmerror_unmount
_dmerror_mount
--
2.13.6