On Mon, Oct 23, 2023 at 9:08 PM Amir Goldstein <amir73il@xxxxxxxxx> wrote: > > Christian, > > The grand plan is to be able to use fanotify with FAN_REPORT_FID as a > drop-in replacement for inotify, but with current upstream, inotify is > supported on all the filesystems and FAN_REPORT_FID only on a few. > > Making all filesystem support FAN_REPORT_FID requires that all > filesystems will: > 1. Support for AT_HANDLE_FID file handles > 2. Report non-zero f_fsid > > This patch set takes care of the first requirement. > Patches were reviewed by Jan and the nfsd maintainers. > > I have another patch in review [2] for adding non-zero f_fsid to many > simple filesystems, but it is independent of this patch set, so no > reason to couple them together. Christian, Jan has reviewed the independent f_fsid vfs patch [2], so if you pick up this patch set, please also apply the f_fsid vfs patch. This would allow changing "more" in the subject of this cover letter (and possible PR subject) to "most" (i.e. all the simple filesystems and all the filesystems that already report a non-zero f_fsid). For the few remaining filesystems that still report zero f_fsid, I will be sending independent patches to individual maintainers. I had already posted f_fsid patches for gfs2 [3] and nfs [4]. Thanks, Amir. > > Note that patch #2 touches many filesystems due to vfs API change, > requiring an explicit ->encode_fh() method. I did not gets ACKs from > all filesystem maintainers, but the change is trivial and does not > change any logic. > > Thanks, > Amir. > > Changes since v1 [1]: > - Patch #1 already merged into v6.6-rc7 > - Fix build without CONFIG_EXPORTFS > - Fix checkpatch warnings > - Define symbolic constant for FILEID_INO64_GEN_LEN > - Clarify documentation (units of) max_len argument > > [1] https://lore.kernel.org/r/20231018100000.2453965-1-amir73il@xxxxxxxxx/ > [2] https://lore.kernel.org/r/20231023143049.2944970-1-amir73il@xxxxxxxxx/ [3] https://lore.kernel.org/linux-fsdevel/20231024075535.2994553-1-amir73il@xxxxxxxxx/ [4] https://lore.kernel.org/linux-fsdevel/20231024110109.3007794-1-amir73il@xxxxxxxxx/ > > Amir Goldstein (4): > exportfs: add helpers to check if filesystem can encode/decode file > handles > exportfs: make ->encode_fh() a mandatory method for NFS export > exportfs: define FILEID_INO64_GEN* file handle types > exportfs: support encoding non-decodeable file handles by default > > Documentation/filesystems/nfs/exporting.rst | 7 +-- > Documentation/filesystems/porting.rst | 9 ++++ > fs/affs/namei.c | 1 + > fs/befs/linuxvfs.c | 1 + > fs/efs/super.c | 1 + > fs/erofs/super.c | 1 + > fs/exportfs/expfs.c | 54 +++++++++++++++------ > fs/ext2/super.c | 1 + > fs/ext4/super.c | 1 + > fs/f2fs/super.c | 1 + > fs/fat/nfs.c | 1 + > fs/fhandle.c | 6 +-- > fs/fuse/inode.c | 7 +-- > fs/jffs2/super.c | 1 + > fs/jfs/super.c | 1 + > fs/nfsd/export.c | 3 +- > fs/notify/fanotify/fanotify_user.c | 4 +- > fs/ntfs/namei.c | 1 + > fs/ntfs3/super.c | 1 + > fs/overlayfs/util.c | 2 +- > fs/smb/client/export.c | 11 ++--- > fs/squashfs/export.c | 1 + > fs/ufs/super.c | 1 + > include/linux/exportfs.h | 51 ++++++++++++++++++- > 24 files changed, 128 insertions(+), 40 deletions(-) > > -- > 2.34.1 >