Commit 6f3a539e authored by Eric Paris's avatar Eric Paris

fsnotify: use kmem_cache_zalloc to simplify event initialization

fsnotify event initialization is done entry by entry with almost everything
set to either 0 or NULL.  Use kmem_cache_zalloc and only initialize things
that need non-zero initialization.  Also means we don't have to change
initialization entries based on the config options.
Signed-off-by: default avatarEric Paris <eparis@redhat.com>
parent f0553af0
...@@ -314,25 +314,14 @@ void fsnotify_flush_notify(struct fsnotify_group *group) ...@@ -314,25 +314,14 @@ void fsnotify_flush_notify(struct fsnotify_group *group)
static void initialize_event(struct fsnotify_event *event) static void initialize_event(struct fsnotify_event *event)
{ {
event->holder.event = NULL;
INIT_LIST_HEAD(&event->holder.event_list); INIT_LIST_HEAD(&event->holder.event_list);
atomic_set(&event->refcnt, 1); atomic_set(&event->refcnt, 1);
spin_lock_init(&event->lock); spin_lock_init(&event->lock);
event->path.dentry = NULL;
event->path.mnt = NULL;
event->inode = NULL;
event->data_type = FSNOTIFY_EVENT_NONE; event->data_type = FSNOTIFY_EVENT_NONE;
INIT_LIST_HEAD(&event->private_data_list); INIT_LIST_HEAD(&event->private_data_list);
event->to_tell = NULL;
event->file_name = NULL;
event->name_len = 0;
event->sync_cookie = 0;
} }
/* /*
...@@ -353,7 +342,7 @@ struct fsnotify_event *fsnotify_create_event(struct inode *to_tell, __u32 mask, ...@@ -353,7 +342,7 @@ struct fsnotify_event *fsnotify_create_event(struct inode *to_tell, __u32 mask,
{ {
struct fsnotify_event *event; struct fsnotify_event *event;
event = kmem_cache_alloc(fsnotify_event_cachep, gfp); event = kmem_cache_zalloc(fsnotify_event_cachep, gfp);
if (!event) if (!event)
return NULL; return NULL;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment