mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* [RFC PATCH 0/2] iov_iter: Provide a function to extract/pin/get pages from an iteraor
@ 2022-10-31 14:49 David Howells
  2022-10-31 14:49 ` [RFC PATCH 1/2] iov_iter: Add a function to extract a page list from an iterator David Howells
                   ` (2 more replies)
  0 siblings, 3 replies; 5+ messages in thread
From: David Howells @ 2022-10-31 14:49 UTC (permalink / raw)
  To: viro
  Cc: linux-mm, John Hubbard, linux-fsdevel, Christoph Hellwig,
	Matthew Wilcox, dhowells, smfrench, torvalds, linux-cifs,
	linux-kernel


Hi Al,

Here's a patch to provide a function to extract a list of pages from an
iterator, getting pins of refs on them as appropriate.

I added a macro by which you can query an iterator to find out how the
extraction function will treat the pages (it returns 0, FOLL_GET or FOLL_PIN
as appropriate).  Note that it's a macro to avoid #inclusion of linux/mm.h in
linux/uio.h.

I've added another crude, incomplete patch to make cifs use it a bit as an
example.  Note that cifs won't work properly with this under all
circumstances, particularly if it decides to split the rdata or wdata record -
but it seems to work for small I/Os.

David
---
David Howells (2):
      iov_iter: Add a function to extract a page list from an iterator
      cifs: Test use of iov_iter_extract_pages() and iov_iter_extract_mode()


 fs/cifs/cifsglob.h  |   2 +
 fs/cifs/file.c      |  93 +++++++++----
 include/linux/uio.h |  26 ++++
 lib/iov_iter.c      | 333 ++++++++++++++++++++++++++++++++++++++++++++
 4 files changed, 427 insertions(+), 27 deletions(-)



^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2022-10-31 20:46 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-10-31 14:49 [RFC PATCH 0/2] iov_iter: Provide a function to extract/pin/get pages from an iteraor David Howells
2022-10-31 14:49 ` [RFC PATCH 1/2] iov_iter: Add a function to extract a page list from an iterator David Howells
2022-10-31 14:49 ` [RFC PATCH 2/2] cifs: Test use of iov_iter_extract_pages() and iov_iter_extract_mode() David Howells
2022-10-31 14:52 ` [RFC PATCH 0/2] iov_iter: Provide a function to extract/pin/get pages from an iteraor Matthew Wilcox
2022-10-31 20:46   ` John Hubbard

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®