On 9/20/23 04:39, Tyler Fanelli wrote:
At the moment, FUSE_INIT's DIRECT_IO_RELAX flag only serves the purpose of allowing shared mmap of files opened/created with DIRECT_IO enabled. However, it leaves open the possibility of further relaxing the DIRECT_IO restrictions (and in-effect, the cache coherency guarantees of DIRECT_IO) in the future. The DIRECT_IO_ALLOW_MMAP flag leaves no ambiguity of its purpose. It only serves to allow shared mmap of DIRECT_IO files, while still bypassing the cache on regular reads and writes. The shared mmap is the only loosening of the cache policy that can take place with the flag. This removes some ambiguity and introduces a more stable flag to be used in FUSE_INIT. Furthermore, we can document that to allow shared mmap'ing of DIRECT_IO files, a user must enable DIRECT_IO_ALLOW_MMAP. Tyler Fanelli (2): fs/fuse: Rename DIRECT_IO_RELAX to DIRECT_IO_ALLOW_MMAP docs/fuse-io: Document the usage of DIRECT_IO_ALLOW_MMAP Documentation/filesystems/fuse-io.rst | 3 ++- fs/fuse/file.c | 6 +++--- fs/fuse/fuse_i.h | 4 ++-- fs/fuse/inode.c | 6 +++--- include/uapi/linux/fuse.h | 7 +++---- 5 files changed, 13 insertions(+), 13 deletions(-)
I guess would be good to add Hao (in CC here), as the author and in case the flag is already used in production (on an internal kernel version).
Thanks, Bernd