From a092ee20fd33d2df0990dcbf2235afc181612818 Mon Sep 17 00:00:00 2001 From: Eric Paris Date: Thu, 11 Jun 2009 11:09:48 -0400 Subject: [PATCH] fsnotify: allow groups to set freeing_mark to null Most fsnotify listeners (all but inotify) do not care about marks being freed. Allow groups to set freeing_mark to null and do not call any function if it is set that way. Signed-off-by: Eric Paris --- fs/notify/dnotify/dnotify.c | 8 +------- fs/notify/inode_mark.c | 3 ++- 2 files changed, 3 insertions(+), 8 deletions(-) diff --git a/fs/notify/dnotify/dnotify.c b/fs/notify/dnotify/dnotify.c index 98a7516..828a889 100644 --- a/fs/notify/dnotify/dnotify.c +++ b/fs/notify/dnotify/dnotify.c @@ -161,12 +161,6 @@ static bool dnotify_should_send_event(struct fsnotify_group *group, return send; } -static void dnotify_freeing_mark(struct fsnotify_mark_entry *entry, - struct fsnotify_group *group) -{ - /* dnotify doesn't care than an inode is on the way out */ -} - static void dnotify_free_mark(struct fsnotify_mark_entry *entry) { struct dnotify_mark_entry *dnentry = container_of(entry, @@ -182,7 +176,7 @@ static struct fsnotify_ops dnotify_fsnotify_ops = { .handle_event = dnotify_handle_event, .should_send_event = dnotify_should_send_event, .free_group_priv = NULL, - .freeing_mark = dnotify_freeing_mark, + .freeing_mark = NULL, .free_event_priv = NULL, }; diff --git a/fs/notify/inode_mark.c b/fs/notify/inode_mark.c index 0a499d2..c8a07c6 100644 --- a/fs/notify/inode_mark.c +++ b/fs/notify/inode_mark.c @@ -190,7 +190,8 @@ void fsnotify_destroy_mark_by_entry(struct fsnotify_mark_entry *entry) * callback to the group function to let it know that this entry * is being freed. */ - group->ops->freeing_mark(entry, group); + if (group->ops->freeing_mark) + group->ops->freeing_mark(entry, group); /* * __fsnotify_update_child_dentry_flags(inode); -- 2.7.4