Messages in this thread | | | From | Miklos Szeredi <> | Date | Thu, 19 May 2022 20:16:11 +0200 | Subject | Re: [PATCH v5 0/3] FUSE: Implement atomic lookup + open/create |
| |
On Thu, 19 May 2022 at 19:42, Bernd Schubert <bschubert@ddn.com> wrote:
> Can you help me a bit to understand what we should change? I had also > already thought to merge CREATE_EXT and OPEN_ATOMIC - so agreed. > Shall we make the other cases more visible?
Make it clear in the code flow if we are using the new request or the old; e.g. rename current fuse_atomic_open() to fuse_open_nonatomic() and do
static int fuse_open_atomic(...) { ... args.opcode = FUSE_OPEN_ATOMIC; ... err = fuse_simple_request(...); if (err == -ENOSYS) goto fallback; ... fallback: return fuse_open_nonatomic(); }
static int fuse_atomic_open(...) { if (fc->no_open_atomic) return fuse_open_nonatomic(); else return fuse_open_atomic(); }
Also we can tweak fuse_dentry_revalidate() so it always invalidates negative dentries if the new atomic open is available, and possibly for positive dentries as well, if the rfc patch makes it.
Thanks, Miklos
| |