Details
-
Improvement
-
Resolution: Unresolved
-
Minor
-
None
-
None
-
None
-
3
-
9223372036854775807
Description
Two patches for AIO fixes were filed under LU-13805 since I discovered the issue while working on that, but they're not actually related.
llite: wait for partially successful aio
https://review.whamcloud.com/50966/
tests: add racing tests of aio
https://review.whamcloud.com/50577/
Here's the problem/patch description:
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.