diff options
| -rw-r--r-- | fs/notify/dnotify/dnotify.c | 2 | ||||
| -rw-r--r-- | fs/notify/group.c | 8 | ||||
| -rw-r--r-- | fs/notify/inotify/inotify_user.c | 2 | ||||
| -rw-r--r-- | include/linux/fsnotify_backend.h | 3 | ||||
| -rw-r--r-- | kernel/audit_tree.c | 2 | ||||
| -rw-r--r-- | kernel/audit_watch.c | 2 |
6 files changed, 6 insertions, 13 deletions
diff --git a/fs/notify/dnotify/dnotify.c b/fs/notify/dnotify/dnotify.c index 51e4fe33d6bb..e0a847bd53be 100644 --- a/fs/notify/dnotify/dnotify.c +++ b/fs/notify/dnotify/dnotify.c | |||
| @@ -433,7 +433,7 @@ static int __init dnotify_init(void) | |||
| 433 | dnotify_struct_cache = KMEM_CACHE(dnotify_struct, SLAB_PANIC); | 433 | dnotify_struct_cache = KMEM_CACHE(dnotify_struct, SLAB_PANIC); |
| 434 | dnotify_mark_entry_cache = KMEM_CACHE(dnotify_mark_entry, SLAB_PANIC); | 434 | dnotify_mark_entry_cache = KMEM_CACHE(dnotify_mark_entry, SLAB_PANIC); |
| 435 | 435 | ||
| 436 | dnotify_group = fsnotify_alloc_group(0, &dnotify_fsnotify_ops); | 436 | dnotify_group = fsnotify_alloc_group(&dnotify_fsnotify_ops); |
| 437 | if (IS_ERR(dnotify_group)) | 437 | if (IS_ERR(dnotify_group)) |
| 438 | panic("unable to allocate fsnotify group for dnotify\n"); | 438 | panic("unable to allocate fsnotify group for dnotify\n"); |
| 439 | return 0; | 439 | return 0; |
diff --git a/fs/notify/group.c b/fs/notify/group.c index 1d20d26d5fee..1657349c30a6 100644 --- a/fs/notify/group.c +++ b/fs/notify/group.c | |||
| @@ -164,8 +164,7 @@ void fsnotify_put_group(struct fsnotify_group *group) | |||
| 164 | /* | 164 | /* |
| 165 | * Create a new fsnotify_group and hold a reference for the group returned. | 165 | * Create a new fsnotify_group and hold a reference for the group returned. |
| 166 | */ | 166 | */ |
| 167 | struct fsnotify_group *fsnotify_alloc_group(__u32 mask, | 167 | struct fsnotify_group *fsnotify_alloc_group(const struct fsnotify_ops *ops) |
| 168 | const struct fsnotify_ops *ops) | ||
| 169 | { | 168 | { |
| 170 | struct fsnotify_group *group; | 169 | struct fsnotify_group *group; |
| 171 | 170 | ||
| @@ -175,8 +174,6 @@ struct fsnotify_group *fsnotify_alloc_group(__u32 mask, | |||
| 175 | 174 | ||
| 176 | atomic_set(&group->refcnt, 1); | 175 | atomic_set(&group->refcnt, 1); |
| 177 | 176 | ||
| 178 | group->mask = mask; | ||
| 179 | |||
| 180 | mutex_init(&group->notification_mutex); | 177 | mutex_init(&group->notification_mutex); |
| 181 | INIT_LIST_HEAD(&group->notification_list); | 178 | INIT_LIST_HEAD(&group->notification_list); |
| 182 | init_waitqueue_head(&group->notification_waitq); | 179 | init_waitqueue_head(&group->notification_waitq); |
| @@ -196,8 +193,5 @@ struct fsnotify_group *fsnotify_alloc_group(__u32 mask, | |||
| 196 | 193 | ||
| 197 | mutex_unlock(&fsnotify_grp_mutex); | 194 | mutex_unlock(&fsnotify_grp_mutex); |
| 198 | 195 | ||
| 199 | if (mask) | ||
| 200 | fsnotify_recalc_global_mask(); | ||
| 201 | |||
| 202 | return group; | 196 | return group; |
| 203 | } | 197 | } |
diff --git a/fs/notify/inotify/inotify_user.c b/fs/notify/inotify/inotify_user.c index 25a2854186e9..a48d68a68b25 100644 --- a/fs/notify/inotify/inotify_user.c +++ b/fs/notify/inotify/inotify_user.c | |||
| @@ -695,7 +695,7 @@ static struct fsnotify_group *inotify_new_group(struct user_struct *user, unsign | |||
| 695 | { | 695 | { |
| 696 | struct fsnotify_group *group; | 696 | struct fsnotify_group *group; |
| 697 | 697 | ||
| 698 | group = fsnotify_alloc_group(0, &inotify_fsnotify_ops); | 698 | group = fsnotify_alloc_group(&inotify_fsnotify_ops); |
| 699 | if (IS_ERR(group)) | 699 | if (IS_ERR(group)) |
| 700 | return group; | 700 | return group; |
| 701 | 701 | ||
diff --git a/include/linux/fsnotify_backend.h b/include/linux/fsnotify_backend.h index 7d3c03e46862..58326049ab29 100644 --- a/include/linux/fsnotify_backend.h +++ b/include/linux/fsnotify_backend.h | |||
| @@ -305,8 +305,7 @@ static inline void __fsnotify_d_instantiate(struct dentry *dentry, struct inode | |||
| 305 | /* must call when a group changes its ->mask */ | 305 | /* must call when a group changes its ->mask */ |
| 306 | extern void fsnotify_recalc_global_mask(void); | 306 | extern void fsnotify_recalc_global_mask(void); |
| 307 | /* get a reference to an existing or create a new group */ | 307 | /* get a reference to an existing or create a new group */ |
| 308 | extern struct fsnotify_group *fsnotify_alloc_group(__u32 mask, | 308 | extern struct fsnotify_group *fsnotify_alloc_group(const struct fsnotify_ops *ops); |
| 309 | const struct fsnotify_ops *ops); | ||
| 310 | /* run all marks associated with this group and update group->mask */ | 309 | /* run all marks associated with this group and update group->mask */ |
| 311 | extern void fsnotify_recalc_group_mask(struct fsnotify_group *group); | 310 | extern void fsnotify_recalc_group_mask(struct fsnotify_group *group); |
| 312 | /* drop reference on a group from fsnotify_alloc_group */ | 311 | /* drop reference on a group from fsnotify_alloc_group */ |
diff --git a/kernel/audit_tree.c b/kernel/audit_tree.c index 813274d4edad..04f16887406b 100644 --- a/kernel/audit_tree.c +++ b/kernel/audit_tree.c | |||
| @@ -937,7 +937,7 @@ static int __init audit_tree_init(void) | |||
| 937 | { | 937 | { |
| 938 | int i; | 938 | int i; |
| 939 | 939 | ||
| 940 | audit_tree_group = fsnotify_alloc_group(0, &audit_tree_ops); | 940 | audit_tree_group = fsnotify_alloc_group(&audit_tree_ops); |
| 941 | if (IS_ERR(audit_tree_group)) | 941 | if (IS_ERR(audit_tree_group)) |
| 942 | audit_panic("cannot initialize fsnotify group for rectree watches"); | 942 | audit_panic("cannot initialize fsnotify group for rectree watches"); |
| 943 | 943 | ||
diff --git a/kernel/audit_watch.c b/kernel/audit_watch.c index 87408b282118..83d5f9674cec 100644 --- a/kernel/audit_watch.c +++ b/kernel/audit_watch.c | |||
| @@ -585,7 +585,7 @@ static const struct fsnotify_ops audit_watch_fsnotify_ops = { | |||
| 585 | 585 | ||
| 586 | static int __init audit_watch_init(void) | 586 | static int __init audit_watch_init(void) |
| 587 | { | 587 | { |
| 588 | audit_watch_group = fsnotify_alloc_group(0, &audit_watch_fsnotify_ops); | 588 | audit_watch_group = fsnotify_alloc_group(&audit_watch_fsnotify_ops); |
| 589 | if (IS_ERR(audit_watch_group)) { | 589 | if (IS_ERR(audit_watch_group)) { |
| 590 | audit_watch_group = NULL; | 590 | audit_watch_group = NULL; |
| 591 | audit_panic("cannot create audit fsnotify group"); | 591 | audit_panic("cannot create audit fsnotify group"); |
