fsnotify: Move ->free_mark callback to fsnotify_ops
Pointer to ->free_mark callback unnecessarily occupies one long in each fsnotify_mark although they are the same for all marks from one notification group. Move the callback pointer to fsnotify_ops. Reviewed-by: Miklos Szeredi <mszeredi@redhat.com> Reviewed-by: Amir Goldstein <amir73il@gmail.com> Signed-off-by: Jan Kara <jack@suse.cz>
This commit is contained in:
@@ -47,7 +47,7 @@
|
||||
/* configurable via /proc/sys/fs/inotify/ */
|
||||
static int inotify_max_queued_events __read_mostly;
|
||||
|
||||
static struct kmem_cache *inotify_inode_mark_cachep __read_mostly;
|
||||
struct kmem_cache *inotify_inode_mark_cachep __read_mostly;
|
||||
|
||||
#ifdef CONFIG_SYSCTL
|
||||
|
||||
@@ -483,16 +483,6 @@ void inotify_ignored_and_remove_idr(struct fsnotify_mark *fsn_mark,
|
||||
dec_inotify_watches(group->inotify_data.ucounts);
|
||||
}
|
||||
|
||||
/* ding dong the mark is dead */
|
||||
static void inotify_free_mark(struct fsnotify_mark *fsn_mark)
|
||||
{
|
||||
struct inotify_inode_mark *i_mark;
|
||||
|
||||
i_mark = container_of(fsn_mark, struct inotify_inode_mark, fsn_mark);
|
||||
|
||||
kmem_cache_free(inotify_inode_mark_cachep, i_mark);
|
||||
}
|
||||
|
||||
static int inotify_update_existing_watch(struct fsnotify_group *group,
|
||||
struct inode *inode,
|
||||
u32 arg)
|
||||
@@ -558,7 +548,7 @@ static int inotify_new_watch(struct fsnotify_group *group,
|
||||
if (unlikely(!tmp_i_mark))
|
||||
return -ENOMEM;
|
||||
|
||||
fsnotify_init_mark(&tmp_i_mark->fsn_mark, group, inotify_free_mark);
|
||||
fsnotify_init_mark(&tmp_i_mark->fsn_mark, group);
|
||||
tmp_i_mark->fsn_mark.mask = mask;
|
||||
tmp_i_mark->wd = -1;
|
||||
|
||||
|
Reference in New Issue
Block a user