Whamcloud - gitweb
LU-13805 llite: Add copy of iovec to sub-dio 40/49940/28
authorPatrick Farrell <pfarrell@whamcloud.com>
Wed, 8 Feb 2023 04:09:17 +0000 (23:09 -0500)
committerOleg Drokin <green@whamcloud.com>
Thu, 24 Aug 2023 04:31:28 +0000 (04:31 +0000)
commitd011e65a8936bc105e19b3fad64bfdece455de61
tree2bde824579501feacfde788d6102a82807293bba
parent89f489ef9a18b5fea0571e2606dfdf064777626b
LU-13805 llite: Add copy of iovec to sub-dio

It's very useful to move some of the direct I/O processing
from the main thread to the ptlrpc threads.  This is done
by associating the processing with each sub DIO, or DIO
'chunk'.  This requires a local copy of the iovec in each
chunk, because we:
A) need the chunk-current state of the iovec (as we move
along the iovec as chunks are created)
B) some operations will modify the iovec, and so to do
them from multiple ptlrpc threads, each needs to work on a
separate copy of the iovec.

This will be used by copy_page_to_iter in completing
unaligned DIO reads.

This has been split out from the main unaligned DIO patch
for simplification.

Signed-off-by: Patrick Farrell <pfarrell@whamcloud.com>
Change-Id: I5645e904b6f9423eafc69cc0f59349cb3dcb9920
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/49940
Reviewed-by: Zhenyu Xu <bobijam@hotmail.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Reviewed-by: Qian Yingjin <qian@ddn.com>
Tested-by: Maloo <maloo@whamcloud.com>
Tested-by: jenkins <devops@whamcloud.com>
lustre/include/cl_object.h
lustre/llite/rw26.c
lustre/obdclass/cl_io.c