[PATCH 00/15] Many folio conversions for ceph

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

 



I know David is working to make ceph large-folio-aware from the bottom up.
Here's my attempt at making the top (ie the part of ceph that interacts
with the page cache) folio-aware.  Mostly this is just phasing out use
of struct page in favour of struct folio and using the new APIs.

The fscrypt interaction still needs a bit of work, but it should be a
little easier now.  There's still some weirdness in how ceph interacts
with the page cache; for example it holds folios locked while doing
writeback instead of dropping the folio lock after setting the writeback
flag.  I'm not sure why it does that, but I don't want to try fixing that
as part of this series.

I don't have a ceph setup, so these patches are only compile tested.
I really want to be rid of some compat code, and cecph is sometimes the
last user (or really close to being the last user).

Matthew Wilcox (Oracle) (15):
  ceph: Convert ceph_writepages_start() to use folios a little more
  ceph: Convert ceph_page_mkwrite() to use a folio
  mm: Delete page_mkwrite_check_truncate()
  ceph: Add a migrate_folio method
  ceph: Remove ceph_writepage()
  ceph: Convert ceph_find_incompatible() to take a folio
  ceph: Convert writepage_nounlock() to take a folio
  ceph: Convert writepages_finish() to use a folio
  ceph: Use a folio in ceph_filemap_fault()
  ceph: Convert ceph_read_iter() to use a folio to read inline data
  ceph: Convert __ceph_do_getattr() to take a folio
  ceph: Convert ceph_fill_inode() to take a folio
  ceph: Convert ceph_fill_inline_data() to take a folio
  ceph: Convert ceph_set_page_fscache() to ceph_folio_start_fscache()
  netfs: Remove unused functions

 .../filesystems/caching/netfs-api.rst         |  30 +-
 fs/ceph/addr.c                                | 351 ++++++++----------
 fs/ceph/file.c                                |  20 +-
 fs/ceph/inode.c                               |  14 +-
 fs/ceph/mds_client.h                          |   2 +-
 fs/ceph/super.h                               |   8 +-
 include/linux/netfs.h                         |  15 -
 include/linux/pagemap.h                       |  28 --
 8 files changed, 197 insertions(+), 271 deletions(-)

-- 
2.40.1




[Index of Archives]     [CEPH Users]     [Ceph Large]     [Ceph Dev]     [Information on CEPH]     [Linux BTRFS]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux