LASSERT(ll_dio_aio);
LASSERT(ll_dio_aio->cda_iocb == iocb);
+ /* unaligned AIO is not supported - see LU-18032 */
+ if (unaligned && ll_dio_aio->cda_is_aio)
+ RETURN(-EINVAL);
+
/* We cannot do parallel submission of sub-I/Os - for AIO or regular
* DIO - unless lockless because it causes us to release the lock
* early.
*/
cl_sync_io_init_notify(&aio->cda_sync, 1, aio, cl_dio_aio_end);
aio->cda_iocb = iocb;
+ aio->cda_is_aio = is_aio;
aio->cda_no_aio_complete = !is_aio;
/* if this is true AIO, the memory is freed by the last call
* to cl_sync_io_note (when all the I/O is complete), because
always_except LU-16515 118c 118d
always_except LU-8411 407
always_except LU-17525 56x 56xa 56xb
+always_except LU-18032 119i
if $SHARED_KEY; then
always_except LU-14181 64e 64f
}
run_test 119h "basic tests of memory unaligned dio"
+# Unaligned AIO is disabled and may not be reenabled
+# See LU-18032
# aiocp with the '-a' option makes testing memory unaligned aio trivial
test_119i()
{
diff $DIR/$tfile $aio_file || error "file diff after aiocp"
# test memory unaligned aio
- aiocp -a 512 -b 64M -s 64M -f O_DIRECT $DIR/$tfile $aio_file ||
- error "unaligned aio failed"
- diff $DIR/$tfile $aio_file || error "file diff after aiocp"
+ # LU-18032 - unaligned AIO is disabled
+ #aiocp -a 512 -b 64M -s 64M -f O_DIRECT $DIR/$tfile $aio_file ||
+ # error "unaligned aio failed"
+ #diff $DIR/$tfile $aio_file || error "file diff after aiocp"
rm -f $DIR/$tfile $aio_file
}