On Tue, Nov 9, 2021 at 5:28 PM David Howells <dhowells@xxxxxxxxxx> wrote: > > > 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 has been rebased on to the 9p merge in Linus's tree[5] so that it has > access to both the 9p conversion to fscache and folios. > > Changes > ======= > ver #4: > - Detached and sent the afs symlink split patch separately. > - Handed the 9p netfslibisation patch off to Dominique Martinet. > - Added a patch to foliate page_endio(). > - Fixed a bug in afs_redirty_page() whereby it didn't set the next page > index in the loop and returned too early. > - Simplified a check in v9fs_vfs_write_folio_locked()[4]. > - Undid a change to afs_symlink_readpage()[4]. > - Used offset_in_folio() in afs_write_end()[4]. > - Rebased on 9p-folio merge upstream[5]. > > 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@xxxxxxxxxxxxxxxxxxxx/ [1] > Link: https://lore.kernel.org/r/YST8OcVNy02Rivbm@xxxxxxxxxxxxxxxxxxxx/ [2] > Link: https://lore.kernel.org/r/163551653404.1877519.12363794970541005441.stgit@xxxxxxxxxxxxxxxxxxxxxx/ [3] > Link: https://lore.kernel.org/r/YYKa3bfQZxK5/wDN@xxxxxxxxxxxxxxxxxxxx/ [4] > Link: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=f89ce84bc33330607a782e47a8b19406ed109b15 [5] > Link: https://lore.kernel.org/r/2408234.1628687271@xxxxxxxxxxxxxxxxxxxxxx/ # v0 > Link: https://lore.kernel.org/r/162981147473.1901565.1455657509200944265.stgit@xxxxxxxxxxxxxxxxxxxxxx/ # v1 > Link: https://lore.kernel.org/r/163005740700.2472992.12365214290752300378.stgit@xxxxxxxxxxxxxxxxxxxxxx/ # v2 > Link: https://lore.kernel.org/r/163584174921.4023316.8927114426959755223.stgit@xxxxxxxxxxxxxxxxxxxxxx>/ # v3 > --- > David Howells (5): > 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 > folio: Add replacements for page_endio() > netfs, 9p, afs, ceph: Use folios > afs: Use folios in directory handling > > > fs/9p/vfs_addr.c | 83 +++++---- > fs/9p/vfs_file.c | 20 +-- > fs/afs/dir.c | 229 ++++++++++-------------- > fs/afs/dir_edit.c | 154 ++++++++-------- > fs/afs/file.c | 68 ++++---- > fs/afs/internal.h | 46 ++--- > fs/afs/write.c | 347 ++++++++++++++++++------------------- > fs/ceph/addr.c | 80 +++++---- > fs/netfs/read_helper.c | 165 +++++++++--------- > include/linux/netfs.h | 12 +- > include/linux/pagemap.h | 23 ++- > include/trace/events/afs.h | 21 +-- > mm/filemap.c | 64 ++++--- > mm/page-writeback.c | 2 +- > 14 files changed, 666 insertions(+), 648 deletions(-) > > > > Tested-by: Jeff Layton <jlayton@xxxxxxxxxx> > Tested-by: Dominique Martinet <asmadeus@xxxxxxxxxxxxx> > Tested-by: kafs-testing@xxxxxxxxxxxx The updated series passed our automated test suite, which is mostly targeted afs testing, but with a framework that also relies on 9p. So you can reapply: Tested-by: kafs-testing@xxxxxxxxxxxx Marc