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>