]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
Merge tag 'fuse-update-6.16' of git://git.kernel.org/pub/scm/linux/kernel/git/mszered...
authorLinus Torvalds <torvalds@linux-foundation.org>
Mon, 2 Jun 2025 22:31:05 +0000 (15:31 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Mon, 2 Jun 2025 22:31:05 +0000 (15:31 -0700)
Pull fuse updates from Miklos Szeredi:

 - Remove tmp page copying in writeback path (Joanne).

   This removes ~300 lines and with that a lot of complexity related to
   avoiding reclaim related deadlock. The old mechanism is replaced with
   a mapping flag that tells the MM not to block reclaim waiting for
   writeback to complete. The MM parts have been reviewed/acked by
   respective maintainers.

 - Convert more code to handle large folios (Joanne). This still just
   adds the code to deal with large folios and does not enable them yet.

 - Allow invalidating all cached lookups atomically (Luis Henriques).
   This feature is useful for CernVMFS, which currently does this
   iteratively.

 - Align write prefaulting in fuse with generic one (Dave Hansen)

 - Fix race causing invalid data to be cached when setting attributes on
   different nodes of a distributed fs (Guang Yuan Wu)

 - Update documentation for passthrough (Chen Linxuan)

 - Add fdinfo about the device number associated with an opened
   /dev/fuse instance (Chen Linxuan)

 - Increase readdir buffer size (Miklos). This depends on a patch to VFS
   readdir code that was already merged through Christians tree.

 - Optimize io-uring request expiration (Joanne)

 - Misc cleanups

* tag 'fuse-update-6.16' of git://git.kernel.org/pub/scm/linux/kernel/git/mszeredi/fuse: (25 commits)
  fuse: increase readdir buffer size
  readdir: supply dir_context.count as readdir buffer size hint
  fuse: don't allow signals to interrupt getdents copying
  fuse: support large folios for writeback
  fuse: support large folios for readahead
  fuse: support large folios for queued writes
  fuse: support large folios for stores
  fuse: support large folios for symlinks
  fuse: support large folios for folio reads
  fuse: support large folios for writethrough writes
  fuse: refactor fuse_fill_write_pages()
  fuse: support large folios for retrieves
  fuse: support copying large folios
  fs: fuse: add dev id to /dev/fuse fdinfo
  docs: filesystems: add fuse-passthrough.rst
  MAINTAINERS: update filter of FUSE documentation
  fuse: fix race between concurrent setattrs from multiple nodes
  fuse: remove tmp folio for writebacks and internal rb tree
  mm: skip folio reclaim in legacy memcg contexts for deadlockable mappings
  fuse: optimize over-io-uring request expiration check
  ...

1  2 
Documentation/filesystems/index.rst
MAINTAINERS
fs/fuse/dir.c
fs/fuse/file.c
include/linux/pagemap.h
mm/vmscan.c

Simple merge
diff --cc MAINTAINERS
Simple merge
diff --cc fs/fuse/dir.c
Simple merge
diff --cc fs/fuse/file.c
index 6f19a4daa55988eac3bcd62966a534a11c347d5f,3d0b33be3824ad0d3cab4ecf85d48614cf957798..f102afc03359b232738a2f1b656f9318b1af8207
@@@ -2349,7 -2118,7 +2118,7 @@@ static bool fuse_writepage_need_send(st
                return true;
  
        /* Discontinuity */
-       if (data->orig_folios[ap->num_folios - 1]->index + 1 != folio->index)
 -      if (folio_next_index(ap->folios[ap->num_folios - 1]) != folio_index(folio))
++      if (folio_next_index(ap->folios[ap->num_folios - 1]) != folio->index)
                return true;
  
        /* Need to grow the pages array?  If so, did the expansion fail? */
Simple merge
diff --cc mm/vmscan.c
Simple merge