diff options
-rw-r--r-- | fs/notify/fsnotify.h | 2 | ||||
-rw-r--r-- | fs/notify/group.c | 2 | ||||
-rw-r--r-- | fs/notify/mark.c | 6 | ||||
-rw-r--r-- | include/linux/fsnotify_backend.h | 2 |
4 files changed, 10 insertions, 2 deletions
diff --git a/fs/notify/fsnotify.h b/fs/notify/fsnotify.h index 5a00121fb219..f3462828a0e2 100644 --- a/fs/notify/fsnotify.h +++ b/fs/notify/fsnotify.h | |||
@@ -54,8 +54,6 @@ static inline void fsnotify_clear_marks_by_sb(struct super_block *sb) | |||
54 | { | 54 | { |
55 | fsnotify_destroy_marks(&sb->s_fsnotify_marks); | 55 | fsnotify_destroy_marks(&sb->s_fsnotify_marks); |
56 | } | 56 | } |
57 | /* Wait until all marks queued for destruction are destroyed */ | ||
58 | extern void fsnotify_wait_marks_destroyed(void); | ||
59 | 57 | ||
60 | /* | 58 | /* |
61 | * update the dentry->d_flags of all of inode's children to indicate if inode cares | 59 | * update the dentry->d_flags of all of inode's children to indicate if inode cares |
diff --git a/fs/notify/group.c b/fs/notify/group.c index 0391190305cc..133f723aca07 100644 --- a/fs/notify/group.c +++ b/fs/notify/group.c | |||
@@ -108,6 +108,7 @@ void fsnotify_put_group(struct fsnotify_group *group) | |||
108 | if (refcount_dec_and_test(&group->refcnt)) | 108 | if (refcount_dec_and_test(&group->refcnt)) |
109 | fsnotify_final_destroy_group(group); | 109 | fsnotify_final_destroy_group(group); |
110 | } | 110 | } |
111 | EXPORT_SYMBOL_GPL(fsnotify_put_group); | ||
111 | 112 | ||
112 | /* | 113 | /* |
113 | * Create a new fsnotify_group and hold a reference for the group returned. | 114 | * Create a new fsnotify_group and hold a reference for the group returned. |
@@ -137,6 +138,7 @@ struct fsnotify_group *fsnotify_alloc_group(const struct fsnotify_ops *ops) | |||
137 | 138 | ||
138 | return group; | 139 | return group; |
139 | } | 140 | } |
141 | EXPORT_SYMBOL_GPL(fsnotify_alloc_group); | ||
140 | 142 | ||
141 | int fsnotify_fasync(int fd, struct file *file, int on) | 143 | int fsnotify_fasync(int fd, struct file *file, int on) |
142 | { | 144 | { |
diff --git a/fs/notify/mark.c b/fs/notify/mark.c index 99ddd126f6f0..1d96216dffd1 100644 --- a/fs/notify/mark.c +++ b/fs/notify/mark.c | |||
@@ -276,6 +276,7 @@ void fsnotify_put_mark(struct fsnotify_mark *mark) | |||
276 | queue_delayed_work(system_unbound_wq, &reaper_work, | 276 | queue_delayed_work(system_unbound_wq, &reaper_work, |
277 | FSNOTIFY_REAPER_DELAY); | 277 | FSNOTIFY_REAPER_DELAY); |
278 | } | 278 | } |
279 | EXPORT_SYMBOL_GPL(fsnotify_put_mark); | ||
279 | 280 | ||
280 | /* | 281 | /* |
281 | * Get mark reference when we found the mark via lockless traversal of object | 282 | * Get mark reference when we found the mark via lockless traversal of object |
@@ -430,6 +431,7 @@ void fsnotify_destroy_mark(struct fsnotify_mark *mark, | |||
430 | mutex_unlock(&group->mark_mutex); | 431 | mutex_unlock(&group->mark_mutex); |
431 | fsnotify_free_mark(mark); | 432 | fsnotify_free_mark(mark); |
432 | } | 433 | } |
434 | EXPORT_SYMBOL_GPL(fsnotify_destroy_mark); | ||
433 | 435 | ||
434 | /* | 436 | /* |
435 | * Sorting function for lists of fsnotify marks. | 437 | * Sorting function for lists of fsnotify marks. |
@@ -685,6 +687,7 @@ int fsnotify_add_mark(struct fsnotify_mark *mark, fsnotify_connp_t *connp, | |||
685 | mutex_unlock(&group->mark_mutex); | 687 | mutex_unlock(&group->mark_mutex); |
686 | return ret; | 688 | return ret; |
687 | } | 689 | } |
690 | EXPORT_SYMBOL_GPL(fsnotify_add_mark); | ||
688 | 691 | ||
689 | /* | 692 | /* |
690 | * Given a list of marks, find the mark associated with given group. If found | 693 | * Given a list of marks, find the mark associated with given group. If found |
@@ -711,6 +714,7 @@ struct fsnotify_mark *fsnotify_find_mark(fsnotify_connp_t *connp, | |||
711 | spin_unlock(&conn->lock); | 714 | spin_unlock(&conn->lock); |
712 | return NULL; | 715 | return NULL; |
713 | } | 716 | } |
717 | EXPORT_SYMBOL_GPL(fsnotify_find_mark); | ||
714 | 718 | ||
715 | /* Clear any marks in a group with given type mask */ | 719 | /* Clear any marks in a group with given type mask */ |
716 | void fsnotify_clear_marks_by_group(struct fsnotify_group *group, | 720 | void fsnotify_clear_marks_by_group(struct fsnotify_group *group, |
@@ -809,6 +813,7 @@ void fsnotify_init_mark(struct fsnotify_mark *mark, | |||
809 | mark->group = group; | 813 | mark->group = group; |
810 | WRITE_ONCE(mark->connector, NULL); | 814 | WRITE_ONCE(mark->connector, NULL); |
811 | } | 815 | } |
816 | EXPORT_SYMBOL_GPL(fsnotify_init_mark); | ||
812 | 817 | ||
813 | /* | 818 | /* |
814 | * Destroy all marks in destroy_list, waits for SRCU period to finish before | 819 | * Destroy all marks in destroy_list, waits for SRCU period to finish before |
@@ -837,3 +842,4 @@ void fsnotify_wait_marks_destroyed(void) | |||
837 | { | 842 | { |
838 | flush_delayed_work(&reaper_work); | 843 | flush_delayed_work(&reaper_work); |
839 | } | 844 | } |
845 | EXPORT_SYMBOL_GPL(fsnotify_wait_marks_destroyed); | ||
diff --git a/include/linux/fsnotify_backend.h b/include/linux/fsnotify_backend.h index 2de3b2ddd19a..1915bdba2fad 100644 --- a/include/linux/fsnotify_backend.h +++ b/include/linux/fsnotify_backend.h | |||
@@ -475,6 +475,8 @@ extern void fsnotify_destroy_mark(struct fsnotify_mark *mark, | |||
475 | extern void fsnotify_detach_mark(struct fsnotify_mark *mark); | 475 | extern void fsnotify_detach_mark(struct fsnotify_mark *mark); |
476 | /* free mark */ | 476 | /* free mark */ |
477 | extern void fsnotify_free_mark(struct fsnotify_mark *mark); | 477 | extern void fsnotify_free_mark(struct fsnotify_mark *mark); |
478 | /* Wait until all marks queued for destruction are destroyed */ | ||
479 | extern void fsnotify_wait_marks_destroyed(void); | ||
478 | /* run all the marks in a group, and clear all of the marks attached to given object type */ | 480 | /* run all the marks in a group, and clear all of the marks attached to given object type */ |
479 | extern void fsnotify_clear_marks_by_group(struct fsnotify_group *group, unsigned int type); | 481 | extern void fsnotify_clear_marks_by_group(struct fsnotify_group *group, unsigned int type); |
480 | /* run all the marks in a group, and clear all of the vfsmount marks */ | 482 | /* run all the marks in a group, and clear all of the vfsmount marks */ |