Whamcloud - gitweb
LU-17524 llite: DIO and writev and readv syscalls 96/53996/19
authorShaun Tancheff <shaun.tancheff@hpe.com>
Wed, 24 Apr 2024 22:24:44 +0000 (18:24 -0400)
committerOleg Drokin <green@whamcloud.com>
Tue, 21 May 2024 18:16:32 +0000 (18:16 +0000)
commitffdd0c411da7a347c9e03e0ec43fa936d5390d0e
tree1aebb6aad00185ca8bbf4499ba311b7c04c0db22
parent674bd8beb7379651f25179d026cd547e0f58b81e
LU-17524 llite: DIO and writev and readv syscalls

Linux kernel v3.15-rc4-329-g62a8067a7f35
  bio_vec-backed iov_iter
Introduced iov_iter_get_pages_alloc

In kernels prior to iov_iter_get_pages_alloc the family
of iovec iter syscalls such as readv and writev fail to
interate over the the iovec segments.

In this case the iter() handler should submit the iovec
while looping over the segments.

Linux kernel v5.19-10287-gfcb14cb1bdac
  new iov_iter flavour - ITER_UBUF

This introduce user_backed_iter() and provide a user_backed_iter
for older kernels.

Fixes: 0006eb3644 ("LU-16328 llite: migrate_folio, vfs_setxattr")
Fixes: 044503492c ("LU-6260 llite: add support for new iter functionality")
Signed-off-by: Shaun Tancheff <shaun.tancheff@hpe.com>
Change-Id: Idec6a956918a1744f2801ffce9b40acb2c074523
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/53996
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Reviewed-by: Patrick Farrell <patrick.farrell@oracle.com>
Reviewed-by: xinliang <xinliang.liu@linaro.org>
Reviewed-by: Petros Koutoupis <petros.koutoupis@hpe.com>
libcfs/include/libcfs/linux/linux-misc.h
lustre/autoconf/lustre-core.m4
lustre/include/cl_object.h
lustre/include/lustre_compat.h
lustre/llite/file.c
lustre/llite/llite_internal.h
lustre/llite/rw26.c
lustre/tests/rwv.c
lustre/tests/sanity.sh