On Tue, 2 Sept 2025 at 22:57, Darrick J. Wong <djwong@xxxxxxxxxx> wrote: > You can, kind of -- either send the server FS_IOC_FSGETXATTR or > FS_IOC_GETFLAGS right after igetting an inode and set the VFS > immutable/append flags from that; or we could add a couple of flag bits > to fuse_attr::flags to avoid the extra upcall. How about a new FUSE_LOOKUPX that uses fuse_statx instead of fuse_attr to initialize the inode? > The flag is very much needed for virtiofs/famfs (and any future > fuse+iomap+fsdax combination), because that's how application programs > are supposed to detect that they can use load/store to mmap file regions > without needing fsync/msync. Makes sense. > > I also fell that all unknown flags should also be masked off, but > > maybe that's too paranoid. > > That isn't a terrible idea. So in conclusion, the following can be passed through from the fuse server to the statx syscall (directly or cached): COMPRESSED NODUMP ENCRYPTED VERITY WRITE_ATOMIC The following should be set (cached) in the relevant inode flag: IMMUTABLE APPEND The following should be ignored and the VFS flag be used instead: AUTOMOUNT MOUNT_ROOT DAX And other attributes should just be ignored. Agree? Thanks, Miklos