Whamcloud - gitweb
LU-13805 llite: wait for partially successful aio 66/50966/45
authorPatrick Farrell <pfarrell@whamcloud.com>
Thu, 11 May 2023 20:55:37 +0000 (16:55 -0400)
committerPatrick Farrell <pfarrell@whamcloud.com>
Fri, 15 Sep 2023 15:40:04 +0000 (11:40 -0400)
commitff35d160dd3437dab2e08b52546e4dad76d01e01
tree5f26d895578fa296623fee609a701727d9838963
parent58ce808d4c127d9b896037121e477ece584e81f0
LU-13805 llite: wait for partially successful aio

For various reasons (notably conflicting buffered IO), we
may need to fall back from DIO to buffered IO.  This also
affects AIO, and if it happens, we will sometimes submit
only part of an AIO with the AIO path, completing the rest
with the buffered path.

Userspace doesn't expect this, expecting us to either do
all or none of the IO with AIO, so it doesn't wait for
completion in this case.

To meet this expectation, we must recognize this case and
wait for AIO to complete before returning to userspace.

Signed-off-by: Patrick Farrell <pfarrell@whamcloud.com>
Change-Id: Iac7abac3bd01f027c353120483932a62c6475277
lustre/include/obd_support.h
lustre/llite/file.c
lustre/llite/rw26.c
lustre/obdclass/cl_io.c