Whamcloud - gitweb
LU-13799 llite: Implement lower/upper aio
authorPatrick Farrell <pfarrell@whamcloud.com>
Wed, 19 Jan 2022 15:46:24 +0000 (10:46 -0500)
committerAndreas Dilger <adilger@whamcloud.com>
Wed, 9 Mar 2022 17:19:21 +0000 (17:19 +0000)
commit8eba9a2ef31238e0ddc2d227a6f4921c2f818123
tree133f98bf9728fc28adb16d49c4796eb5cd21da8a
parente1595f9abb3677922425a97abc8d8f8ab66866b7
LU-13799 llite: Implement lower/upper aio

This patch creates a lower level aio struct for each set of
pages submitted, and attaches that to the llite level aio.

That means the completion of i/o (in the sense of
successful RPC/page completion) is associated with the
lower level aio struct, and the higher level aio waits for
the completion of these lower level structs.  Previously,
all pages were associated with the upper level (and only)
aio struct.

This patch is a reorganization/cleanup, which is necessary
for the next patch, which moves release pages to aio_end.
The justification for this (correctness and performance)
will be provided in that patch.

Lustre-change: https://review.whamcloud.com/44209
Lustre-commit: 46ff76137160b66f1d4437b3443859027faae9c4

Signed-off-by: Patrick Farrell <pfarrell@whamcloud.com>
Change-Id: I2d1c01875c5478c54d7cdd93af7ff12bb4928d94
Reviewed-on: https://review.whamcloud.com/44684
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
lustre/include/cl_object.h
lustre/llite/file.c
lustre/llite/rw26.c
lustre/obdclass/cl_io.c