Jan, As agreed on the review of v1 [1], we do not need any vfs changes to support fanotify on btrfs sub-volumes and we can enable setting marks on btrfs sub-volumes simply by caching the fsid in the mark object instead of the connector. This is the would be man page update to clarify the meaning of fsid as it is reflected in this patch set: fsid This is a unique identifier of the filesystem containing the object associated with the event. It is a structure of type __kernel_fsid_t and contains the same value reported in f_fsid when calling statfs(2) with the same pathname argument that was used for fanotify_mark(2). Note that some filesystems (e.g., btrfs(5)) report non-uniform values of f_fsid on different objects of the same filesystem. In these cases, if fanotify_mark(2) is called several times with different pathname values, the fsid value reported in events will match f_fsid associated with at least one of those pathname values. Thanks, Amir. [1] https://lore.kernel.org/r/CAOQ4uxg9wjESoCFNDADbneF0-nW4xVHHV3Rhhp=gJwAs=S83dQ@xxxxxxxxxxxxxx/ Amir Goldstein (3): fanotify: store fsid in mark instead of in connector fanotify: report the most specific fsid for btrfs fanotify: support setting marks in btrfs sub-volumes fs/notify/fanotify/fanotify.c | 21 ++++-------- fs/notify/fanotify/fanotify.h | 10 ++++++ fs/notify/fanotify/fanotify_user.c | 31 ++++++++---------- fs/notify/mark.c | 52 +++++------------------------- include/linux/fsnotify_backend.h | 18 +++++------ 5 files changed, 47 insertions(+), 85 deletions(-) -- 2.34.1