From: Hao Xu <howeyxu@xxxxxxxxxxx> Patch 1 is a fix for private mmap in FOPEN_DIRECT_IO mode This is added here together since the later two depends on it. Patch 2 is the main dish Patch 3 is to maintain direct write logic for shared mmap in FOPEN_DIRECT_IO mode v2 -> v3 add patch 1 fix here, and adjust it follow Bernd's comment add patch 3 which does right thing for shared mmap in FOPEN_DIRECT_IO mode v1 -> v2: make the new flag a fuse init one rather than a open flag since it's not common that different files in a filesystem has different strategy of shared mmap. Hao Xu (3): fuse: invalidate page cache pages before direct write fuse: add a new fuse init flag to relax restrictions in no cache mode fuse: write back dirty pages before direct write in direct_io_relax mode fs/fuse/file.c | 26 +++++++++++++++++++++++--- fs/fuse/fuse_i.h | 3 +++ fs/fuse/inode.c | 5 ++++- include/uapi/linux/fuse.h | 1 + 4 files changed, 31 insertions(+), 4 deletions(-) -- 2.25.1