linux-fsdevel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v3 0/9] fuse: inode IO modes and mmap + parallel dio
@ 2024-02-08 17:05 Amir Goldstein
  2024-02-08 17:05 ` [PATCH v3 1/9] fuse: Fix VM_MAYSHARE and direct_io_allow_mmap Amir Goldstein
                   ` (8 more replies)
  0 siblings, 9 replies; 30+ messages in thread
From: Amir Goldstein @ 2024-02-08 17:05 UTC (permalink / raw)
  To: Miklos Szeredi; +Cc: Bernd Schubert, linux-fsdevel

Miklos,

FUSE passthrough patches v15 [1] are based on this series, so I am
posting it to the list for completion.

This v3 addresses most of your review comments on v2 posted by Bernd [2].
I added all the cleanup patches that you requested and addressed the
review comments related to my io modes patch.

I've also split it up the io modes infrastructure patch from Bernd's
change to wait for parallel dio in mmap and caching open.

The one thing I did not address is that I left the FOPEN_CACHE_IO flag
as an internal flag as a way to signal "this dio file holds an iocachectr
refcount". I wasn't sure that you are ok with it, but I wanted you to
consider how the entire work looks after adding FOPEN_PASSTHROUGH.

Bernd did not have much review comments to address so he has tested
my branch and asked me to post it.

Thanks,
Amir.

Changes since v2:
- Split "wait for parallel dio" from "io modes" patch
- FOPEN_CACHE_IO reserved flag cannot set set by server
- O_DIRECT without FOPEN_DIRECT_IO opens in caching mode
  in anticipation for O_DIRECT flag change via fcntl()
- FOPEN_PARALLEL_DIRECT_WRITES requires FOPEN_DIRECT_IO
- Moved io mode helpers to iomode.c
- Change return type of fuse_inode_*_io_cache() helpers
- Separate fuse_dir_open() to not take the io open route at all
- Remove the need for isdir arg to fuse_file_put()
- Avoid post truncate attribute handling after atomic_open()

[1] https://lore.kernel.org/linux-fsdevel/20240206142453.1906268-1-amir73il@gmail.com/
[2] https://lore.kernel.org/linux-fsdevel/20240131230827.207552-1-bschubert@ddn.com/

Amir Goldstein (6):
  fuse: factor out helper fuse_truncate_update_attr()
  fuse: allocate ff->release_args only if release is needed
  fuse: break up fuse_open_common()
  fuse: prepare for failing open response
  fuse: introduce inode io modes
  fuse: allow parallel dio writes with FUSE_DIRECT_IO_ALLOW_MMAP

Bernd Schubert (3):
  fuse: Fix VM_MAYSHARE and direct_io_allow_mmap
  fuse: Create helper function if DIO write needs exclusive lock
  fuse: Add fuse_dio_lock/unlock helper functions

 fs/fuse/Makefile          |   1 +
 fs/fuse/dir.c             |  36 ++++-
 fs/fuse/file.c            | 280 ++++++++++++++++++++++++--------------
 fs/fuse/fuse_i.h          |  30 +++-
 fs/fuse/iomode.c          | 245 +++++++++++++++++++++++++++++++++
 include/uapi/linux/fuse.h |   2 +
 6 files changed, 482 insertions(+), 112 deletions(-)
 create mode 100644 fs/fuse/iomode.c

-- 
2.34.1


^ permalink raw reply	[flat|nested] 30+ messages in thread

end of thread, other threads:[~2024-03-17 20:03 UTC | newest]

Thread overview: 30+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-02-08 17:05 [PATCH v3 0/9] fuse: inode IO modes and mmap + parallel dio Amir Goldstein
2024-02-08 17:05 ` [PATCH v3 1/9] fuse: Fix VM_MAYSHARE and direct_io_allow_mmap Amir Goldstein
2024-02-08 17:05 ` [PATCH v3 2/9] fuse: Create helper function if DIO write needs exclusive lock Amir Goldstein
2024-02-09  9:50   ` Miklos Szeredi
2024-02-08 17:05 ` [PATCH v3 3/9] fuse: Add fuse_dio_lock/unlock helper functions Amir Goldstein
2024-02-08 17:05 ` [PATCH v3 4/9] fuse: factor out helper fuse_truncate_update_attr() Amir Goldstein
2024-02-08 17:05 ` [PATCH v3 5/9] fuse: allocate ff->release_args only if release is needed Amir Goldstein
2024-02-09  9:57   ` Miklos Szeredi
2024-02-09 11:26     ` Bernd Schubert
2024-02-08 17:06 ` [PATCH v3 6/9] fuse: break up fuse_open_common() Amir Goldstein
2024-02-09  9:59   ` Miklos Szeredi
2024-02-08 17:06 ` [PATCH v3 7/9] fuse: prepare for failing open response Amir Goldstein
2024-02-08 17:06 ` [PATCH v3 8/9] fuse: introduce inode io modes Amir Goldstein
2024-02-09 10:21   ` Miklos Szeredi
2024-02-09 10:35     ` Amir Goldstein
2024-02-09 10:56       ` Miklos Szeredi
2024-02-09 11:50         ` Amir Goldstein
2024-02-08 17:06 ` [PATCH v3 9/9] fuse: allow parallel dio writes with FUSE_DIRECT_IO_ALLOW_MMAP Amir Goldstein
2024-02-09 10:50   ` Miklos Szeredi
2024-02-09 11:21     ` Bernd Schubert
2024-02-09 11:48       ` Bernd Schubert
2024-02-09 12:12         ` Amir Goldstein
2024-02-09 12:19           ` Amir Goldstein
2024-02-09 12:19           ` Bernd Schubert
2024-02-09 13:26           ` Miklos Szeredi
2024-02-09 15:28             ` Amir Goldstein
2024-03-17 13:54               ` Amir Goldstein
2024-03-17 19:31                 ` Miklos Szeredi
2024-03-17 20:00                   ` Amir Goldstein
2024-03-17 20:02                     ` Miklos Szeredi

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).