| From: |
| Amir Goldstein <amir73il-AT-gmail.com> |
| To: |
| Jan Kara <jack-AT-suse.cz> |
| Subject: |
| [PATCH 0/5] Support more filesystems with FAN_REPORT_FID |
| Date: |
| Wed, 18 Oct 2023 12:59:55 +0300 |
| Message-ID: |
| <20231018100000.2453965-1-amir73il@gmail.com> |
| Cc: |
| Jeff Layton <jlayton-AT-kernel.org>, Chuck Lever <chuck.lever-AT-oracle.com>, Christian Brauner <brauner-AT-kernel.org>, linux-fsdevel-AT-vger.kernel.org, linux-nfs-AT-vger.kernel.org |
| Archive-link: |
| Article |
Jan,
Following up on the plan laid out in this discussion, this patch set
implements the simpler and less controversial part of the plan to
enable AT_HANDLE_FID for all filesystems.
One filesystem that I tested which gained FAN_REPORT_FID support is 9p,
but there are many other filesystem for whom fanotify will become mostly
inotify drop-in replacement after this change.
Since the main goal of this change is to progress fanotify towards being
an inotify drop-in replacement, support for FAN_REPORT_FID with sb/mount
mark is at lower priority.
Because I think that support for FAN_REPORT_FID with sb/mount mark is
controversial with non-decodeable (AT_HANDLE_FID) file handles, I have
also disabled this feature that was added in v6.6-rc1 to ovelrayfs.
If you agree to this retroactive change, the path #1 should be fast
tracked into v6.6.
The rest of the changes should probably go in via the vfs tree after
review from you and nfsd maintainers.
Thanks,
Amir.
[1] https://lore.kernel.org/r/20230920110429.f4wkfuls73pd55pv...
Amir Goldstein (5):
fanotify: limit reporting of event with non-decodeable file handles
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 | 50 +++++++++++++++------
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 | 25 +++++++----
fs/ntfs/namei.c | 1 +
fs/ntfs3/super.c | 1 +
fs/overlayfs/util.c | 2 +-
fs/smb/client/export.c | 9 ++--
fs/squashfs/export.c | 1 +
fs/ufs/super.c | 1 +
include/linux/exportfs.h | 46 ++++++++++++++++++-
24 files changed, 133 insertions(+), 45 deletions(-)
--
2.34.1