diff options
author | Eric Paris <eparis@redhat.com> | 2009-06-11 11:09:48 -0400 |
---|---|---|
committer | Eric Paris <eparis@redhat.com> | 2009-06-11 14:57:55 -0400 |
commit | a092ee20fd33d2df0990dcbf2235afc181612818 (patch) | |
tree | c172839ce60bcc55e770e6707694842301e3ed6b /fs | |
parent | e42e27736de80045f925564ea27a1d32957219e7 (diff) |
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 <eparis@redhat.com>
Diffstat (limited to 'fs')
-rw-r--r-- | fs/notify/dnotify/dnotify.c | 8 | ||||
-rw-r--r-- | 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 98a751614c74..828a889be909 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, | |||
161 | return send; | 161 | return send; |
162 | } | 162 | } |
163 | 163 | ||
164 | static void dnotify_freeing_mark(struct fsnotify_mark_entry *entry, | ||
165 | struct fsnotify_group *group) | ||
166 | { | ||
167 | /* dnotify doesn't care than an inode is on the way out */ | ||
168 | } | ||
169 | |||
170 | static void dnotify_free_mark(struct fsnotify_mark_entry *entry) | 164 | static void dnotify_free_mark(struct fsnotify_mark_entry *entry) |
171 | { | 165 | { |
172 | struct dnotify_mark_entry *dnentry = container_of(entry, | 166 | struct dnotify_mark_entry *dnentry = container_of(entry, |
@@ -182,7 +176,7 @@ static struct fsnotify_ops dnotify_fsnotify_ops = { | |||
182 | .handle_event = dnotify_handle_event, | 176 | .handle_event = dnotify_handle_event, |
183 | .should_send_event = dnotify_should_send_event, | 177 | .should_send_event = dnotify_should_send_event, |
184 | .free_group_priv = NULL, | 178 | .free_group_priv = NULL, |
185 | .freeing_mark = dnotify_freeing_mark, | 179 | .freeing_mark = NULL, |
186 | .free_event_priv = NULL, | 180 | .free_event_priv = NULL, |
187 | }; | 181 | }; |
188 | 182 | ||
diff --git a/fs/notify/inode_mark.c b/fs/notify/inode_mark.c index 0a499d2c6191..c8a07c65482b 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) | |||
190 | * callback to the group function to let it know that this entry | 190 | * callback to the group function to let it know that this entry |
191 | * is being freed. | 191 | * is being freed. |
192 | */ | 192 | */ |
193 | group->ops->freeing_mark(entry, group); | 193 | if (group->ops->freeing_mark) |
194 | group->ops->freeing_mark(entry, group); | ||
194 | 195 | ||
195 | /* | 196 | /* |
196 | * __fsnotify_update_child_dentry_flags(inode); | 197 | * __fsnotify_update_child_dentry_flags(inode); |