mbox series

[v3,0/6] netfs, 9p, afs, ceph: Support folios, at least partially

Message ID 163584174921.4023316.8927114426959755223.stgit@warthog.procyon.org.uk (mailing list archive)
Headers show
Series netfs, 9p, afs, ceph: Support folios, at least partially | expand

Message

David Howells Nov. 2, 2021, 8:29 a.m. UTC
Here's a set of patches to convert netfs, 9p and afs to use folios and to
provide sufficient conversion for ceph that it can continue to use the
netfs library.  Jeff Layton is working on fully converting ceph.

This also contains a patch to split afs symlink readpage from afs file
readpage to aid with foliation and a patch to convert 9p to netfslib to
reduce the amount of foliation needed there.

Changes
=======
ver #3:
 - Rebased on upstream as folios have been pulled.
 - Imported a patch to convert 9p to netfslib from my
   fscache-remove-old-api branch[3].
 - Foliated netfslib.

ver #2:
 - Reorder the patches to put both non-folio afs patches to the front.
 - Use page_offset() rather than manual calculation[1].
 - Fix folio_inode() to directly access the inode[2].

David

Link: https://lore.kernel.org/r/YST/0e92OdSH0zjg@casper.infradead.org/ [1]
Link: https://lore.kernel.org/r/YST8OcVNy02Rivbm@casper.infradead.org/ [2]
Link: https://lore.kernel.org/r/163551653404.1877519.12363794970541005441.stgit@warthog.procyon.org.uk/ [3]
Link: https://lore.kernel.org/r/2408234.1628687271@warthog.procyon.org.uk/ # v0
Link: https://lore.kernel.org/r/162981147473.1901565.1455657509200944265.stgit@warthog.procyon.org.uk/ # v1
Link: https://lore.kernel.org/r/163005740700.2472992.12365214290752300378.stgit@warthog.procyon.org.uk/ # v2
---
David Howells (6):
      afs: Sort out symlink reading
      9p: Convert to using the netfs helper lib to do reads and caching
      folio: Add a function to change the private data attached to a folio
      folio: Add a function to get the host inode for a folio
      netfs, 9p, afs, ceph: Use folios
      afs: Use folios in directory handling


 fs/9p/Kconfig              |   1 +
 fs/9p/cache.c              | 137 ---------------
 fs/9p/cache.h              |  97 +----------
 fs/9p/v9fs.h               |   9 +
 fs/9p/vfs_addr.c           | 253 +++++++++++++--------------
 fs/9p/vfs_file.c           |  29 ++--
 fs/afs/dir.c               | 229 ++++++++++--------------
 fs/afs/dir_edit.c          | 154 +++++++++--------
 fs/afs/file.c              |  70 ++++----
 fs/afs/internal.h          |  46 ++---
 fs/afs/write.c             | 346 ++++++++++++++++++-------------------
 fs/ceph/addr.c             |  80 +++++----
 fs/netfs/read_helper.c     | 165 +++++++++---------
 include/linux/netfs.h      |  12 +-
 include/linux/pagemap.h    |  33 ++++
 include/trace/events/afs.h |  21 +--
 mm/page-writeback.c        |   2 +-
 17 files changed, 738 insertions(+), 946 deletions(-)