[GIT PULL] netfs, 9p, afs, ceph: Use folios

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Linus,

[Apologies for the late request, but I needed to wait for folios and 9p to
be pulled into your tree so that I could get rid of the temporary merge I
was using and then I had to wait for my branch to be retested before I
could send this your way - and then Willy changed his mind about how to
handle foliation of page_endio().]

Anyway, could you consider pulling this please?  It converts netfslib, 9p
and afs to use folios.  It also partially converts ceph so that it uses
folios on the boundaries with netfslib.

To help with this, a couple of folio helper functions are added in the
first two patches.  If you don't want to take the netfs/9p/afs/ceph bits,
could you at least consider taking the folio helpers?  Then they would be
available to others.

These patches don't touch fscache and cachefiles as I intend to remove all
the code that deals with pages directly from there.  Only nfs and cifs are
using the old fscache I/O API now.  The new API uses iov_iter instead.

Thanks to Jeff Layton, Dominique Martinet and AuriStor for testing and
retesting the patches.

Thanks,
David

Changes
=======
ver #5:
 - Got rid of the folio_endio bits again as Willy changed his mind and
   would rather I inlined the code directly instead.

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].

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
Link: https://lore.kernel.org/r/163649323416.309189.4637503793406396694.stgit@xxxxxxxxxxxxxxxxxxxxxx/ # v4
Link: https://lore.kernel.org/r/163657847613.834781.7923681076643317435.stgit@xxxxxxxxxxxxxxxxxxxxxx/ # v5

---
The following changes since commit f89ce84bc33330607a782e47a8b19406ed109b15:

  Merge tag '9p-for-5.16-rc1' of git://github.com/martinetd/linux (2021-11-09 10:30:13 -0800)

are available in the Git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/dhowells/linux-fs.git tags/netfs-folio-20211111

for you to fetch changes up to 255ed63638da190e2485d32c0f696cd04d34fbc0:

  afs: Use folios in directory handling (2021-11-10 21:17:09 +0000)

----------------------------------------------------------------
netfs, 9p, afs and ceph (partial) foliation

----------------------------------------------------------------
David Howells (4):
      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/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              |  70 +++++----
 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    |  33 +++++
 include/trace/events/afs.h |  21 +--
 mm/page-writeback.c        |   2 +-
 13 files changed, 636 insertions(+), 626 deletions(-)





[Index of Archives]     [Linux Filesystem Development]     [Linux USB Development]     [Linux Media Development]     [Video for Linux]     [Linux NILFS]     [Linux Audio Users]     [Yosemite Info]     [Linux SCSI]

  Powered by Linux