Extend fanotify dirent events

Started by Amir Goldstein on Nov 29, 2021 · 3 messages from 2 authors · Last reply Dec 15, 2021

Series

11 patches, 12 files

+500 −157

Subsystems (5)

Show 2 more

Maintainers (4)

STALE1790d LANDED

Status: Landed in mainline.

Revision v3 (2 revisions archived).

Revisions (2)
  1. v2
  2. v3 current [diff against previous]

open the first message on its own page

Message details and related content
Jan,

This is the 3rd version of patches to add FAN_REPORT_TARGET_FID group
flag and FAN_RENAME event.

Patches [1] LTP test [2] and man page draft [3] are available on my
github.

Thanks,
Amir.

[1] https://github.com/amir73il/linux/commits/fan_rename-v3
[2] https://github.com/amir73il/ltp/commits/fan_rename
[2] https://github.com/amir73il/man-pages/commits/fan_rename

Changes since v2:
- Rebase on v5.16-rc3
- Separate mark iterator type from object type enum
- Use dedicated iter type for 2nd dir
- Use iter type report mask to indicate if old and/or new
  dir are watching FAN_RENAME

Amir Goldstein (11):
  fsnotify: clarify object type argument
  fsnotify: separate mark iterator type from object type enum
  fanotify: introduce group flag FAN_REPORT_TARGET_FID
  fsnotify: generate FS_RENAME event with rich information
  fanotify: use macros to get the offset to fanotify_info buffer
  fanotify: use helpers to parcel fanotify_info buffer
  fanotify: support secondary dir fh and name in fanotify_info
  fanotify: record old and new parent and name in FAN_RENAME event
  fanotify: record either old name new name or both for FAN_RENAME
  fanotify: report old and/or new parent+name in FAN_RENAME event
  fanotify: wire up FAN_RENAME event

 fs/notify/dnotify/dnotify.c        |   2 +-
 fs/notify/fanotify/fanotify.c      | 213 ++++++++++++++++++++++-------
 fs/notify/fanotify/fanotify.h      | 142 +++++++++++++++++--
 fs/notify/fanotify/fanotify_user.c |  82 +++++++++--
 fs/notify/fsnotify.c               |  53 ++++---

12 more lines

Message details and related content
Hello Amir!

On Mon 29-11-21 22:15:26, Amir Goldstein wrote:
This is the 3rd version of patches to add FAN_REPORT_TARGET_FID group
flag and FAN_RENAME event.

Patches [1] LTP test [2] and man page draft [3] are available on my
github.
I'm sorry it took so long but I was sick for a week and a bit and so things
got delayed. I've looked through the changes and they look good to me. I've
just modified patch 9/11 to pass around just mask of marks matching the
event instead of full struct fsnotify_iter_info. I understand you wanted to
reuse the fanotify_should_report_type() helpers etc. but honestly I don't
think it was bringing much clarity. The result is pushed out to fsnotify &
for_next branches in my tree. Thanks for your work!

								Honza
[1] https://github.com/amir73il/linux/commits/fan_rename-v3
[2] https://github.com/amir73il/ltp/commits/fan_rename
[2] https://github.com/amir73il/man-pages/commits/fan_rename

Changes since v2:
- Rebase on v5.16-rc3
- Separate mark iterator type from object type enum
- Use dedicated iter type for 2nd dir
- Use iter type report mask to indicate if old and/or new
  dir are watching FAN_RENAME

Amir Goldstein (11):
  fsnotify: clarify object type argument
  fsnotify: separate mark iterator type from object type enum
  fanotify: introduce group flag FAN_REPORT_TARGET_FID
  fsnotify: generate FS_RENAME event with rich information
  fanotify: use macros to get the offset to fanotify_info buffer
  fanotify: use helpers to parcel fanotify_info buffer
  fanotify: support secondary dir fh and name in fanotify_info
  fanotify: record old and new parent and name in FAN_RENAME event
  fanotify: record either old name new name or both for FAN_RENAME
  fanotify: report old and/or new parent+name in FAN_RENAME event
  fanotify: wire up FAN_RENAME event

 fs/notify/dnotify/dnotify.c        |   2 +-
 fs/notify/fanotify/fanotify.c      | 213 ++++++++++++++++++++++-------
 fs/notify/fanotify/fanotify.h      | 142 +++++++++++++++++--
 fs/notify/fanotify/fanotify_user.c |  82 +++++++++--
 fs/notify/fsnotify.c               |  53 ++++---
 fs/notify/group.c                  |   2 +-
 fs/notify/mark.c                   |  31 +++--
 include/linux/dnotify.h            |   2 +-
 include/linux/fanotify.h           |   5 +-
 include/linux/fsnotify.h           |   9 +-
 include/linux/fsnotify_backend.h   |  74 +++++-----
 include/uapi/linux/fanotify.h      |  12 ++
 12 files changed, 485 insertions(+), 142 deletions(-)

-- 
2.33.1

1 more quoted lines

-- 
Jan Kara [off-list ref]
SUSE Labs, CR
Message details and related content
On Wed, Dec 15, 2021 at 7:45 PM Jan Kara [off-list ref] wrote:
Hello Amir!

On Mon 29-11-21 22:15:26, Amir Goldstein wrote:
quoted
This is the 3rd version of patches to add FAN_REPORT_TARGET_FID group
flag and FAN_RENAME event.

Patches [1] LTP test [2] and man page draft [3] are available on my
github.
I'm sorry it took so long but I was sick for a week and a bit and so things
got delayed. I've looked through the changes and they look good to me. I've
just modified patch 9/11 to pass around just mask of marks matching the
event instead of full struct fsnotify_iter_info. I understand you wanted to
reuse the fanotify_should_report_type() helpers etc. but honestly I don't
think it was bringing much clarity. The result is pushed out to fsnotify
I understand why you don't like using fsnotify_iter_info.
Result looks very nice to me.

Thanks,
Amir.
Keyboard shortcuts
hback out one level
jnext message in thread / next series-diff position
kprevious message in thread / previous series-diff position
ldrill in
Escclose help / fold thread tree
?toggle this help