On Thu, Feb 1, 2024 at 1:08 AM Bernd Schubert <bschubert@xxxxxxx> wrote: > > This series is mostly about mmap, direct-IO and inode IO modes. > (new in this series is FOPEN_CACHE_IO). > It brings back the shared lock for FOPEN_DIRECT_IO when > FUSE_DIRECT_IO_ALLOW_MMAP is set and is also preparation > work for Amirs work on fuse-passthrough and also for For the interested: https://github.com/amir73il/linux/commits/fuse-backing-fd-010224/ Bernd, Can you push this series to your v2 branch so that I can rebase my branch on top of it? > shared lock O_DIRECT and direct-IO code consolidation I have > patches for. > > Patch 1/5 was already posted before > https://patchwork.kernel.org/project/linux-fsdevel/patch/20231213150703.6262-1-bschubert@xxxxxxx/ > but is included here again, as especially patch 5/5 has a > dependency on it. Amir has also spotted a typo in the commit message > of the initial patch, which is corrected here. > > Patches 2/5 and 3/5 add helper functions, which are needed by the > main patch (5/5) in this series and are be also needed by another > fuse direct-IO series. That series needs the helper functions in > fuse_cache_write_iter, thus, these new helpers are above that > function. > > Patch 4/5 allows to fail fuse_finish_open and is a preparation > to handle conflicting IO modes from the server side and will also be > needed for fuse passthrough. > > Patch 5/5 is the main patch in the series, which adds inode > IO modes, which is needed to re-enable shared DIO writes locks > when FUSE_DIRECT_IO_ALLOW_MMAP is set. Furthermore, these IO modes > are also needed by Amirs WIP fuse passthrough work. > > The conflict of FUSE_DIRECT_IO_ALLOW_MMAP and > FOPEN_PARALLEL_DIRECT_WRITES was detected by xfstest generic/095. > This patch series was tested by running a loop of that test > and also by multiple runs of the complete xfstest suite. > For testing with libfuse a version is needed that includes this > pull request > https://github.com/libfuse/libfuse/pull/870 Heh, this is already merged :) For the record, I understand that you ran this test with passthrough_hp. In which configurations --direct-io? --nocache? only default? Thanks for pushing this through! Amir.