diff options
Diffstat (limited to 'fs/notify/inotify/inotify_fsnotify.c')
-rw-r--r-- | fs/notify/inotify/inotify_fsnotify.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/fs/notify/inotify/inotify_fsnotify.c b/fs/notify/inotify/inotify_fsnotify.c index e3cbd746f64a..871569c7d609 100644 --- a/fs/notify/inotify/inotify_fsnotify.c +++ b/fs/notify/inotify/inotify_fsnotify.c | |||
@@ -118,6 +118,7 @@ static int inotify_handle_event(struct fsnotify_group *group, | |||
118 | 118 | ||
119 | fsn_event_priv = &event_priv->fsnotify_event_priv_data; | 119 | fsn_event_priv = &event_priv->fsnotify_event_priv_data; |
120 | 120 | ||
121 | fsnotify_get_group(group); | ||
121 | fsn_event_priv->group = group; | 122 | fsn_event_priv->group = group; |
122 | event_priv->wd = wd; | 123 | event_priv->wd = wd; |
123 | 124 | ||
@@ -131,7 +132,7 @@ static int inotify_handle_event(struct fsnotify_group *group, | |||
131 | } | 132 | } |
132 | 133 | ||
133 | if (inode_mark->mask & IN_ONESHOT) | 134 | if (inode_mark->mask & IN_ONESHOT) |
134 | fsnotify_destroy_mark(inode_mark); | 135 | fsnotify_destroy_mark(inode_mark, group); |
135 | 136 | ||
136 | return ret; | 137 | return ret; |
137 | } | 138 | } |
@@ -210,6 +211,7 @@ void inotify_free_event_priv(struct fsnotify_event_private_data *fsn_event_priv) | |||
210 | event_priv = container_of(fsn_event_priv, struct inotify_event_private_data, | 211 | event_priv = container_of(fsn_event_priv, struct inotify_event_private_data, |
211 | fsnotify_event_priv_data); | 212 | fsnotify_event_priv_data); |
212 | 213 | ||
214 | fsnotify_put_group(fsn_event_priv->group); | ||
213 | kmem_cache_free(event_priv_cachep, event_priv); | 215 | kmem_cache_free(event_priv_cachep, event_priv); |
214 | } | 216 | } |
215 | 217 | ||