Whamcloud - gitweb
LU-13799 llite: Implement lower/upper aio 09/44209/15
authorPatrick Farrell <pfarrell@whamcloud.com>
Fri, 30 Jul 2021 16:12:05 +0000 (12:12 -0400)
committerOleg Drokin <green@whamcloud.com>
Tue, 11 Jan 2022 06:34:42 +0000 (06:34 +0000)
commit46ff76137160b66f1d4437b3443859027faae9c4
tree16179c97443126fdd37b1b412c323cb3bc38e359
parenteadccb33ac4bbe54a01da5168f6170702f9b2629
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.

Signed-off-by: Patrick Farrell <pfarrell@whamcloud.com>
Change-Id: I02d6a33a0d9f9bbc1a182bcd539bd836c240bcc5
Reviewed-on: https://review.whamcloud.com/44209
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Yingjin Qian <qian@ddn.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
lustre/include/cl_object.h
lustre/llite/file.c
lustre/llite/rw26.c
lustre/obdclass/cl_io.c