Last week, David Howells posted a set of patches to modernize fscache and cachefiles [1] (and in the process fix a ton of bugs). The patches in this set convert ceph over to use the new API. The first patch in this series switches ceph over to use the new API. The second patch adds support for caching files that are open for write. I've tested caching and non-caching setups with xfstests and it seems to work well. The only remaining issue I see is that sometimes fsstress will cause the cachefiles backend fs to fill up. When this happens, the cache goes offline, but everything otherwise keeps working. This is still an improvement over the existing code, however, and I think that problem may be solveable by a more aggressive culling cycle. [1]: https://lore.kernel.org/ceph-devel/CAHk-=wi7K64wo4PtROxq_cLhfq-c-3aCbW5CjRfnKYA439YFUw@xxxxxxxxxxxxxx/T/#t Jeff Layton (2): ceph: conversion to new fscache API ceph: add fscache writeback support fs/ceph/Kconfig | 2 +- fs/ceph/addr.c | 98 +++++++++++++++++++----- fs/ceph/cache.c | 196 +++++++++++++++++++++--------------------------- fs/ceph/cache.h | 96 +++++++++++++++++------- fs/ceph/caps.c | 3 +- fs/ceph/file.c | 13 +++- fs/ceph/inode.c | 22 ++++-- fs/ceph/super.c | 10 +-- fs/ceph/super.h | 4 +- 9 files changed, 263 insertions(+), 181 deletions(-) -- 2.31.1