mbox series

[v2,0/4] Prepare for supporting more filesystems with fanotify

Message ID 20230502124817.3070545-1-amir73il@gmail.com (mailing list archive)
Headers show
Series Prepare for supporting more filesystems with fanotify | expand

Message

Amir Goldstein May 2, 2023, 12:48 p.m. UTC
Jan,

Following v2 incorporates a few fixes and ACKs from review of v1 [1].

While fanotify relaxes the requirements for filesystems to support
reporting fid to require only the ->encode_fh() operation, there are
currently no new filesystems that meet the relaxed requirements.

Patches to add ->encode_fh() to overlay with default configuation
are available on my github branch [2].  I will re-post them after
this patch set will be approved.

Based on the discussion on the UAPI alternatives, I kept the
AT_HANDLE_FID UAPI, which seems the simplest of them all.

There is an LTP test [3] that tests reporting fid from overlayfs,
which also demonstrates the use of AT_HANDLE_FID for requesting a
non-decodeable file handle by userspace and there is a man page
draft [4] for the documentation of the AT_HANDLE_FID flags.

Thanks,
Amir.

Changes since v1:
- Fixes to Kerneldoc (Chuck)
- Added ACKs (Chuck,Jeff)
- Explain the logic of requiring ->s_export_op (Jan)
- Added man page draft

[1] https://lore.kernel.org/linux-fsdevel/20230425130105.2606684-1-amir73il@gmail.com/
[2] https://github.com/amir73il/linux/commits/exportfs_encode_fid
[3] https://github.com/amir73il/ltp/commits/exportfs_encode_fid
[4] https://github.com/amir73il/man-pages/commits/exportfs_encode_fid

Amir Goldstein (4):
  exportfs: change connectable argument to bit flags
  exportfs: add explicit flag to request non-decodeable file handles
  exportfs: allow exporting non-decodeable file handles to userspace
  fanotify: support reporting non-decodeable file handles

 Documentation/filesystems/nfs/exporting.rst |  4 +--
 fs/exportfs/expfs.c                         | 33 ++++++++++++++++++---
 fs/fhandle.c                                | 22 +++++++++-----
 fs/nfsd/nfsfh.c                             |  5 ++--
 fs/notify/fanotify/fanotify.c               |  4 +--
 fs/notify/fanotify/fanotify_user.c          |  7 ++---
 fs/notify/fdinfo.c                          |  2 +-
 include/linux/exportfs.h                    | 18 +++++++++--
 include/uapi/linux/fcntl.h                  |  5 ++++
 9 files changed, 74 insertions(+), 26 deletions(-)