summaryrefslogtreecommitdiffstats
path: root/fs/netfs/misc.c
diff options
context:
space:
mode:
authorDavid Howells <dhowells@redhat.com>2021-07-09 08:41:17 +0100
committerDavid Howells <dhowells@redhat.com>2023-12-28 09:42:44 +0000
commit21d706d5cf570917594b21edee81893bdce09ab8 (patch)
treea692b502c516bfafba77a2d98088155fe314ea0c /fs/netfs/misc.c
parent92b6cc5d1e7cbe569f00e9c1249ac8214fd5e2d2 (diff)
downloadlinux-21d706d5cf570917594b21edee81893bdce09ab8.tar.gz
linux-21d706d5cf570917594b21edee81893bdce09ab8.tar.bz2
linux-21d706d5cf570917594b21edee81893bdce09ab8.zip
netfs: Add support for DIO buffering
Add a bvec array pointer and an iterator to netfs_io_request for either holding a copy of a DIO iterator or a list of all the bits of buffer pointed to by a DIO iterator. There are two problems: Firstly, if an iovec-class iov_iter is passed to ->read_iter() or ->write_iter(), this cannot be passed directly to kernel_sendmsg() or kernel_recvmsg() as that may cause locking recursion if a fault is generated, so we need to keep track of the pages involved separately. Secondly, if the I/O is asynchronous, we must copy the iov_iter describing the buffer before returning to the caller as it may be immediately deallocated. Signed-off-by: David Howells <dhowells@redhat.com> Reviewed-by: Jeff Layton <jlayton@kernel.org> cc: linux-cachefs@redhat.com cc: linux-fsdevel@vger.kernel.org cc: linux-mm@kvack.org
Diffstat (limited to 'fs/netfs/misc.c')
0 files changed, 0 insertions, 0 deletions