Re: [PATCH v2] fuse: allow FUSE drivers to declare themselves free from outside changes

From: Christoph Hellwig
Date: Tue Apr 02 2024 - 10:51:41 EST


On Tue, Apr 02, 2024 at 09:10:59AM -0400, Jeff Layton wrote:
> Traditionally, we've allowed people to set leases on FUSE inodes. Some
> FUSE drivers are effectively local filesystems and should be fine with
> kernel-internal lease support. Others are backed by a network server
> that may have multiple clients, or may be backed by something non-file
> like entirely. On those, we don't want to allow leases.
>
> Have the filesytem driver to set a fuse_conn flag to indicate whether
> the inodes are subject to outside changes, not done via kernel APIs. If
> the flag is unset (the default), then setlease attempts will fail with
> -EINVAL, indicating that leases aren't supported on that inode.

So while this polarity is how we should be doing it, doesn't it risk
breaking all the local fuse file systems? I.e. shouldn't the flag be
inverse to maximize backwards compatibility?