diff options
author | Amir Goldstein <amir73il@gmail.com> | 2019-01-10 19:04:42 +0200 |
---|---|---|
committer | Jan Kara <jack@suse.cz> | 2019-02-07 16:38:36 +0100 |
commit | 83b535d2897d1d4ce22c2f656a53bdd7865d1df3 (patch) | |
tree | 4947d4867aa2f09e2d10d1de0657466b3e4e720e /fs/notify/fanotify/fanotify.h | |
parent | 0321e03cb4572fb3b56582bcb4927c1fe985b191 (diff) | |
download | linux-83b535d2897d1d4ce22c2f656a53bdd7865d1df3.tar.gz linux-83b535d2897d1d4ce22c2f656a53bdd7865d1df3.tar.bz2 linux-83b535d2897d1d4ce22c2f656a53bdd7865d1df3.zip |
fanotify: support events with data type FSNOTIFY_EVENT_INODE
When event data type is FSNOTIFY_EVENT_INODE, we don't have a refernece
to the mount, so we will not be able to open a file descriptor when user
reads the event. However, if the listener has enabled reporting file
identifier with the FAN_REPORT_FID init flag, we allow reporting those
events and we use an identifier inode to encode fid.
The inode to use as identifier when reporting fid depends on the event.
For dirent modification events, we report the modified directory inode
and we report the "victim" inode otherwise.
For example:
FS_ATTRIB reports the child inode even if reported on a watched parent.
FS_CREATE reports the modified dir inode and not the created inode.
[JK: Fixup condition in fanotify_group_event_mask()]
Signed-off-by: Amir Goldstein <amir73il@gmail.com>
Signed-off-by: Jan Kara <jack@suse.cz>
Diffstat (limited to 'fs/notify/fanotify/fanotify.h')
-rw-r--r-- | fs/notify/fanotify/fanotify.h | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/fs/notify/fanotify/fanotify.h b/fs/notify/fanotify/fanotify.h index 5b072afa4e19..e84d68c6840a 100644 --- a/fs/notify/fanotify/fanotify.h +++ b/fs/notify/fanotify/fanotify.h @@ -132,5 +132,5 @@ static inline struct fanotify_event *FANOTIFY_E(struct fsnotify_event *fse) struct fanotify_event *fanotify_alloc_event(struct fsnotify_group *group, struct inode *inode, u32 mask, - const struct path *path, + const void *data, int data_type, __kernel_fsid_t *fsid); |