Here's a set of fixes and minor updates for the fscache rewrite[1]: (1) Fix mishandling of volume collisions (the wait condition is inverted and so it was only waiting if the volume collision was already resolved). And for cachefiles, including addressing some of Jeff Layton's review comments: (2) Fix miscalculation of whether there's space available. (3) Make sure a default cache name is set on a cache if the user hasn't set one by the time they bind the cache. (4) Adjust the way the backing inode is presented in tracepoints, add a tracepoint for mkdir and trace directory lookup. (5) Trace failure to set the active file mark. (6) Add explanation of the checks made on the backing filesystem. (7) Check that the backing filesystem supports tmpfile. (8) Document how the page-release cancellation of the read-skip optimisation works. (9) Add an IS_KERNEL_FILE() check macro for the S_KERNEL_FILE inode flag. And I've included a change for netfslib: (10) Make ops->init_rreq() optional. I've also added the patch to rewrite cifs's fscache indexing. Link: https://lore.kernel.org/r/164021479106.640689.17404516570194656552.stgit@xxxxxxxxxxxxxxxxxxxxxx/ [1] --- David Howells (9): fscache: Fix the volume collision wait condition cachefiles: Calculate the blockshift in terms of bytes, not pages cachefiles: Make some tracepoint adjustments cachefiles: Trace active-mark failure cachefiles: Explain checks in a comment cachefiles: Check that the backing filesystem supports tmpfiles fscache: Add a comment explaining how page-release optimisation works vfs, fscache: Add an IS_KERNEL_FILE() macro for the S_KERNEL_FILE flag cifs: Support fscache indexing rewrite Jeffle Xu (2): cachefiles: set default tag name if it's unspecified netfs: Make ops->init_rreq() optional fs/cachefiles/cache.c | 17 +- fs/cachefiles/daemon.c | 11 + fs/cachefiles/internal.h | 2 +- fs/cachefiles/io.c | 2 +- fs/cachefiles/namei.c | 18 +- fs/ceph/addr.c | 5 - fs/cifs/Kconfig | 2 +- fs/cifs/Makefile | 2 +- fs/cifs/cache.c | 105 ---------- fs/cifs/cifsfs.c | 19 +- fs/cifs/cifsglob.h | 5 +- fs/cifs/connect.c | 15 +- fs/cifs/dir.c | 5 + fs/cifs/file.c | 70 ++++--- fs/cifs/fscache.c | 333 +++++++----------------------- fs/cifs/fscache.h | 126 ++++------- fs/cifs/inode.c | 19 +- fs/namei.c | 2 +- fs/netfs/read_helper.c | 3 +- include/linux/fs.h | 1 + include/linux/fscache.h | 5 + include/trace/events/cachefiles.h | 103 ++++++--- 22 files changed, 313 insertions(+), 557 deletions(-) delete mode 100644 fs/cifs/cache.c