[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <1891411.1635533494@warthog.procyon.org.uk>
Date: Fri, 29 Oct 2021 19:51:34 +0100
From: David Howells <dhowells@...hat.com>
To: Linus Torvalds <torvalds@...ux-foundation.org>
Cc: dhowells@...hat.com, Trond Myklebust <trondmy@...merspace.com>,
Anna Schumaker <anna.schumaker@...app.com>,
Steve French <sfrench@...ba.org>,
Dominique Martinet <asmadeus@...ewreck.org>,
v9fs-developer@...ts.sourceforge.net,
CIFS <linux-cifs@...r.kernel.org>,
Trond Myklebust <trond.myklebust@...merspace.com>,
"open list:NFS, SUNRPC, AND..." <linux-nfs@...r.kernel.org>,
linux-cachefs@...hat.com, Dave Wysochanski <dwysocha@...hat.com>,
Shyam Prasad N <nspmangalore@...il.com>,
Jeff Layton <jlayton@...hat.com>,
Matthew Wilcox <willy@...radead.org>,
Alexander Viro <viro@...iv.linux.org.uk>,
linux-afs@...ts.infradead.org, ceph-devel@...r.kernel.org,
linux-fsdevel <linux-fsdevel@...r.kernel.org>,
Linux Kernel Mailing List <linux-kernel@...r.kernel.org>
Subject: Re: [PATCH v4 00/10] fscache: Replace and remove old I/O API
Linus Torvalds <torvalds@...ux-foundation.org> wrote:
> But:
>
> > However, if you would rather I just removed all of fscache and (most of[*])
> > cachefiles, that I can do.
>
> I assume and think that if you just do that part first, then the
> "convert to netfslib" of afs and ceph at that later stage will mean
> that the fallback code will never be needed?
The netfslib coversions for afs and ceph are already in your tree and I have a
patch here to do that for 9p (if you're willing to take that in the upcoming
merge window?).
The issue is cifs[*] and nfs. I could leave caching in those disabled,
pending approved patches for those filesystems. This would mean that I
wouldn't need the fallback code.
An alternative is that I could move the "fallback" code into fs/nfs/fscache.c
and fs/cifs/fscache.c if that would be easier and merge it into the functions
there. The problem will come when the cache wants to do I/O in larger units
than page size to suit its own block size[**].
David
[*] As it happens, it turns out that cifs seems to have a bug in it that
causes the entire cache for a superblock to be discarded each time that
superblock is mounted.
[**] At some point the cache *has* to start keeping track of what data it is
holding rather than relying on bmap/SEEK_DATA/SEEK_HOLE to get round the
extent-bridging problem. I'm trying to take a leaf out of the book of other
caching filesystems and use larger block sizes (e.g. 256K) to reduce the
overhead of cache metadata.
Powered by blists - more mailing lists