diff options
author | Jan Kara <jack@suse.cz> | 2016-11-10 19:51:50 +0300 |
---|---|---|
committer | Jan Kara <jack@suse.cz> | 2017-04-10 18:37:36 +0300 |
commit | 9385a84d7e1f658bb2d96ab798393e4b16268aaa (patch) | |
tree | dd5d112c6bb46d97069645a2e34a38c5998e1234 /include/linux/fsnotify_backend.h | |
parent | abc77577a669f424c5d0c185b9994f2621c52aa4 (diff) | |
download | linux-9385a84d7e1f658bb2d96ab798393e4b16268aaa.tar.xz |
fsnotify: Pass fsnotify_iter_info into handle_event handler
Pass fsnotify_iter_info into ->handle_event() handler so that it can
release and reacquire SRCU lock via fsnotify_prepare_user_wait() and
fsnotify_finish_user_wait() functions. These functions also make sure
current marks are appropriately pinned so that iteration protected by
srcu in fsnotify() stays safe.
Reviewed-by: Miklos Szeredi <mszeredi@redhat.com>
Reviewed-by: Amir Goldstein <amir73il@gmail.com>
Signed-off-by: Jan Kara <jack@suse.cz>
Diffstat (limited to 'include/linux/fsnotify_backend.h')
-rw-r--r-- | include/linux/fsnotify_backend.h | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/include/linux/fsnotify_backend.h b/include/linux/fsnotify_backend.h index 5bb6d988b9f6..744a4b9076f9 100644 --- a/include/linux/fsnotify_backend.h +++ b/include/linux/fsnotify_backend.h @@ -99,7 +99,8 @@ struct fsnotify_ops { struct fsnotify_mark *inode_mark, struct fsnotify_mark *vfsmount_mark, u32 mask, const void *data, int data_type, - const unsigned char *file_name, u32 cookie); + const unsigned char *file_name, u32 cookie, + struct fsnotify_iter_info *iter_info); void (*free_group_priv)(struct fsnotify_group *group); void (*freeing_mark)(struct fsnotify_mark *mark, struct fsnotify_group *group); void (*free_event)(struct fsnotify_event *event); |