On Sat, Feb 18, 2023 at 5:41 PM <asmadeus@xxxxxxxxxxxxx> wrote: > > For clarity though I'd use writeback in the documentation, and keep mmap > as a legacy mapping just for mount opts parsing; the behaviour is > slightly different than it used to be (normal read/writes were sync) so > it's good to be clear about that. > Yeah, that was my intent in the current form -- although it did occur to me that at some point we might want something subtly different for mmap, however, I couldn't ever work out in my head if there would be any way to be consistent if we had mmap but no transient caching -- I guess one form would be to only cache/buffer while file is mmapped which we should be able to track and in that way it could be distinct from the others. > > Separating the two makes sense implementation-wise as well, I like this > idea. > What would the difference be between file_cache=writeback and loose? > Do you plan some form of revalidation with writeback, e.g. using qid > version that loose wouldn't do? (sorry if it's already done, I don't > recall seeing that) > It would mostly have to do with when we validate the cache. Loose essentially means NEVER validate the cache and assume the cache is always correct. But in the file_cache= case we would only do it for file contents and not directory. > fscache is currently a cache option but it's pretty much unrelated, we > can have it as a separate option and alias cache=fscache to > `file_cache=writeback(loose),dir_cache=loose,fscache=on` > but on its own it ought to work with any level of file_cache and no > dir_cache... > The test matrix will be fun, though :| > Yeah - feels like fscache should just be seperate, but then it can follow the consistency policies of file and/or dir as to when to revalidate with server. Test matrix is already a nightmare :). Right now I have a simple one with multiple fstabs for various options (which I feed in with cpu), but I'm gonna add this into my python notebook script so I can explore all options (and all config options for 9p in the kernel configs) -- but probably keep a smoke test "quick" regression as well. > > It struck me as well with xattr enabled we may want to have separate > > caches for xattr caching since it generates a load of traffic with > > security on. > > xattr caching currently isn't done at all afaik, and it'd definitely > make sense with any kind of dir_cache... That'd likely halve the > requests for some find-like workloads. > Probably another new option as well.. Yeah, I was going to tackle this after the dir cache stuff is fixed up. -eric