Merge tag 'vfs-6.7.fsid' of git://git.kernel.org/pub/scm/linux/kernel/git/vfs/vfs
authorLinus Torvalds <torvalds@linux-foundation.org>
Tue, 7 Nov 2023 20:11:26 +0000 (12:11 -0800)
committerLinus Torvalds <torvalds@linux-foundation.org>
Tue, 7 Nov 2023 20:11:26 +0000 (12:11 -0800)
commit13d88ac54ddd1011b6e94443958e798aa06eb835
tree19167200e828ef0741b8df21a3b29795b93f2bdc
parent062cca8915cad56aabb11206a4a5082856167fc0
parent4ad714df58e646d4b2a454a7dface8ff903911c4
Merge tag 'vfs-6.7.fsid' of git://git./linux/kernel/git/vfs/vfs

Pull vfs fanotify fsid updates from Christian Brauner:
 "This work is part of the plan to enable fanotify to serve as a drop-in
  replacement for inotify. While inotify is availabe on all filesystems,
  fanotify currently isn't.

  In order to support fanotify on all filesystems two things are needed:

   (1) all filesystems need to support AT_HANDLE_FID

   (2) all filesystems need to report a non-zero f_fsid

  This contains (1) and allows filesystems to encode non-decodable file
  handlers for fanotify without implementing any exportfs operations by
  encoding a file id of type FILEID_INO64_GEN from i_ino and
  i_generation.

  Filesystems that want to opt out of encoding non-decodable file ids
  for fanotify that don't support NFS export can do so by providing an
  empty export_operations struct.

  This also partially addresses (2) by generating f_fsid for simple
  filesystems as well as freevxfs. Remaining filesystems will be dealt
  with by separate patches.

  Finally, this contains the patch from the current exportfs maintainers
  which moves exportfs under vfs with Chuck, Jeff, and Amir as
  maintainers and vfs.git as tree"

* tag 'vfs-6.7.fsid' of git://git.kernel.org/pub/scm/linux/kernel/git/vfs/vfs:
  MAINTAINERS: create an entry for exportfs
  fs: fix build error with CONFIG_EXPORTFS=m or not defined
  freevxfs: derive f_fsid from bdev->bd_dev
  fs: report f_fsid from s_dev for "simple" filesystems
  exportfs: support encoding non-decodeable file handles by default
  exportfs: define FILEID_INO64_GEN* file handle types
  exportfs: make ->encode_fh() a mandatory method for NFS export
  exportfs: add helpers to check if filesystem can encode/decode file handles
17 files changed:
Documentation/filesystems/nfs/exporting.rst
Documentation/filesystems/porting.rst
MAINTAINERS
fs/befs/linuxvfs.c
fs/efivarfs/super.c
fs/erofs/super.c
fs/ext2/super.c
fs/ext4/super.c
fs/f2fs/super.c
fs/fuse/inode.c
fs/hugetlbfs/inode.c
fs/jfs/super.c
fs/libfs.c
fs/nfsd/export.c
fs/notify/fanotify/fanotify_user.c
fs/overlayfs/util.c
include/linux/exportfs.h