• Amir Goldstein's avatar
    fuse: disable FOPEN_PARALLEL_DIRECT_WRITES with FUSE_DIRECT_IO_ALLOW_MMAP · 3f29f1c3
    Amir Goldstein authored
    The new fuse init flag FUSE_DIRECT_IO_ALLOW_MMAP breaks assumptions made by
    FOPEN_PARALLEL_DIRECT_WRITES and causes test generic/095 to hit
    BUG_ON(fi->writectr < 0) assertions in fuse_set_nowrite():
    
    generic/095 5s ...
      kernel BUG at fs/fuse/dir.c:1756!
    ...
      ? fuse_set_nowrite+0x3d/0xdd
      ? do_raw_spin_unlock+0x88/0x8f
      ? _raw_spin_unlock+0x2d/0x43
      ? fuse_range_is_writeback+0x71/0x84
      fuse_sync_writes+0xf/0x19
      fuse_direct_io+0x167/0x5bd
      fuse_direct_write_iter+0xf0/0x146
    
    Auto disable FOPEN_PARALLEL_DIRECT_WRITES when server negotiated
    FUSE_DIRECT_IO_ALLOW_MMAP.
    
    Fixes: e78662e8 ("fuse: add a new fuse init flag to relax restrictions in no cache mode")
    Cc: <stable@vger.kernel.org> # v6.6
    Signed-off-by: default avatarAmir Goldstein <amir73il@gmail.com>
    Signed-off-by: default avatarMiklos Szeredi <mszeredi@redhat.com>
    3f29f1c3
file.c 80.3 KB