diff options
author | Amir Goldstein <amir73il@gmail.com> | 2024-03-17 20:41:46 +0200 |
---|---|---|
committer | Jan Kara <jack@suse.cz> | 2024-04-04 16:23:46 +0200 |
commit | f115815d75332f9dabb0d7c29c8f67b0f26889c5 (patch) | |
tree | 6a5a3ed58e82a5e9e8e651f4d7530889dbd55fc5 /fs/notify/mark.c | |
parent | d2f277e26f521ccf6fb438463b41dba6123caabe (diff) |
fsnotify: create helpers to get sb and connp from object
In preparation to passing an object pointer to add/remove/find mark
helpers, create helpers to get sb and connp by object type.
Signed-off-by: Amir Goldstein <amir73il@gmail.com>
Signed-off-by: Jan Kara <jack@suse.cz>
Message-Id: <20240317184154.1200192-3-amir73il@gmail.com>
Diffstat (limited to 'fs/notify/mark.c')
-rw-r--r-- | fs/notify/mark.c | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/fs/notify/mark.c b/fs/notify/mark.c index 3bcce2671bd5..d9977af25832 100644 --- a/fs/notify/mark.c +++ b/fs/notify/mark.c @@ -97,6 +97,21 @@ void fsnotify_get_mark(struct fsnotify_mark *mark) refcount_inc(&mark->refcnt); } +static fsnotify_connp_t *fsnotify_object_connp(void *obj, + enum fsnotify_obj_type obj_type) +{ + switch (obj_type) { + case FSNOTIFY_OBJ_TYPE_INODE: + return &((struct inode *)obj)->i_fsnotify_marks; + case FSNOTIFY_OBJ_TYPE_VFSMOUNT: + return &real_mount(obj)->mnt_fsnotify_marks; + case FSNOTIFY_OBJ_TYPE_SB: + return &((struct super_block *)obj)->s_fsnotify_marks; + default: + return NULL; + } +} + static __u32 *fsnotify_conn_mask_p(struct fsnotify_mark_connector *conn) { if (conn->type == FSNOTIFY_OBJ_TYPE_INODE) |