diff options
Diffstat (limited to 'include/linux/fsnotify_backend.h')
-rw-r--r-- | include/linux/fsnotify_backend.h | 38 |
1 files changed, 19 insertions, 19 deletions
diff --git a/include/linux/fsnotify_backend.h b/include/linux/fsnotify_backend.h index 7a6ba755acc3..59c072e8fddd 100644 --- a/include/linux/fsnotify_backend.h +++ b/include/linux/fsnotify_backend.h | |||
@@ -62,7 +62,7 @@ | |||
62 | 62 | ||
63 | struct fsnotify_group; | 63 | struct fsnotify_group; |
64 | struct fsnotify_event; | 64 | struct fsnotify_event; |
65 | struct fsnotify_mark_entry; | 65 | struct fsnotify_mark; |
66 | struct fsnotify_event_private_data; | 66 | struct fsnotify_event_private_data; |
67 | 67 | ||
68 | /* | 68 | /* |
@@ -83,7 +83,7 @@ struct fsnotify_ops { | |||
83 | int data_type); | 83 | int data_type); |
84 | int (*handle_event)(struct fsnotify_group *group, struct fsnotify_event *event); | 84 | int (*handle_event)(struct fsnotify_group *group, struct fsnotify_event *event); |
85 | void (*free_group_priv)(struct fsnotify_group *group); | 85 | void (*free_group_priv)(struct fsnotify_group *group); |
86 | void (*freeing_mark)(struct fsnotify_mark_entry *entry, struct fsnotify_group *group); | 86 | void (*freeing_mark)(struct fsnotify_mark *entry, struct fsnotify_group *group); |
87 | void (*free_event_priv)(struct fsnotify_event_private_data *priv); | 87 | void (*free_event_priv)(struct fsnotify_event_private_data *priv); |
88 | }; | 88 | }; |
89 | 89 | ||
@@ -133,12 +133,12 @@ struct fsnotify_group { | |||
133 | unsigned int q_len; /* events on the queue */ | 133 | unsigned int q_len; /* events on the queue */ |
134 | unsigned int max_events; /* maximum events allowed on the list */ | 134 | unsigned int max_events; /* maximum events allowed on the list */ |
135 | 135 | ||
136 | /* stores all fastapth entries assoc with this group so they can be cleaned on unregister */ | 136 | /* stores all fastpath marks assoc with this group so they can be cleaned on unregister */ |
137 | spinlock_t mark_lock; /* protect mark_entries list */ | 137 | spinlock_t mark_lock; /* protect marks_list */ |
138 | atomic_t num_marks; /* 1 for each mark entry and 1 for not being | 138 | atomic_t num_marks; /* 1 for each mark entry and 1 for not being |
139 | * past the point of no return when freeing | 139 | * past the point of no return when freeing |
140 | * a group */ | 140 | * a group */ |
141 | struct list_head mark_entries; /* all inode mark entries for this group */ | 141 | struct list_head marks_list; /* all inode marks for this group */ |
142 | 142 | ||
143 | /* prevents double list_del of group_list. protected by global fsnotify_grp_mutex */ | 143 | /* prevents double list_del of group_list. protected by global fsnotify_grp_mutex */ |
144 | bool on_inode_group_list; | 144 | bool on_inode_group_list; |
@@ -226,20 +226,20 @@ struct fsnotify_event { | |||
226 | }; | 226 | }; |
227 | 227 | ||
228 | /* | 228 | /* |
229 | * Inode specific fields in an fsnotify_mark_entry | 229 | * Inode specific fields in an fsnotify_mark |
230 | */ | 230 | */ |
231 | struct fsnotify_inode_mark { | 231 | struct fsnotify_inode_mark { |
232 | struct inode *inode; /* inode this entry is associated with */ | 232 | struct inode *inode; /* inode this entry is associated with */ |
233 | struct hlist_node i_list; /* list of mark_entries by inode->i_fsnotify_mark_entries */ | 233 | struct hlist_node i_list; /* list of marks by inode->i_fsnotify_marks */ |
234 | struct list_head free_i_list; /* tmp list used when freeing this mark */ | 234 | struct list_head free_i_list; /* tmp list used when freeing this mark */ |
235 | }; | 235 | }; |
236 | 236 | ||
237 | /* | 237 | /* |
238 | * Mount point specific fields in an fsnotify_mark_entry | 238 | * Mount point specific fields in an fsnotify_mark |
239 | */ | 239 | */ |
240 | struct fsnotify_vfsmount_mark { | 240 | struct fsnotify_vfsmount_mark { |
241 | struct vfsmount *mnt; /* inode this entry is associated with */ | 241 | struct vfsmount *mnt; /* inode this entry is associated with */ |
242 | struct hlist_node m_list; /* list of mark_entries by inode->i_fsnotify_mark_entries */ | 242 | struct hlist_node m_list; /* list of marks by inode->i_fsnotify_marks */ |
243 | struct list_head free_m_list; /* tmp list used when freeing this mark */ | 243 | struct list_head free_m_list; /* tmp list used when freeing this mark */ |
244 | }; | 244 | }; |
245 | 245 | ||
@@ -253,13 +253,13 @@ struct fsnotify_vfsmount_mark { | |||
253 | * (such as dnotify) will flush these when the open fd is closed and not at | 253 | * (such as dnotify) will flush these when the open fd is closed and not at |
254 | * inode eviction or modification. | 254 | * inode eviction or modification. |
255 | */ | 255 | */ |
256 | struct fsnotify_mark_entry { | 256 | struct fsnotify_mark { |
257 | __u32 mask; /* mask this mark entry is for */ | 257 | __u32 mask; /* mask this mark entry is for */ |
258 | /* we hold ref for each i_list and g_list. also one ref for each 'thing' | 258 | /* we hold ref for each i_list and g_list. also one ref for each 'thing' |
259 | * in kernel that found and may be using this mark. */ | 259 | * in kernel that found and may be using this mark. */ |
260 | atomic_t refcnt; /* active things looking at this mark */ | 260 | atomic_t refcnt; /* active things looking at this mark */ |
261 | struct fsnotify_group *group; /* group this mark entry is for */ | 261 | struct fsnotify_group *group; /* group this mark entry is for */ |
262 | struct list_head g_list; /* list of mark_entries by group->i_fsnotify_mark_entries */ | 262 | struct list_head g_list; /* list of marks by group->i_fsnotify_marks */ |
263 | spinlock_t lock; /* protect group and inode */ | 263 | spinlock_t lock; /* protect group and inode */ |
264 | union { | 264 | union { |
265 | struct fsnotify_inode_mark i; | 265 | struct fsnotify_inode_mark i; |
@@ -269,7 +269,7 @@ struct fsnotify_mark_entry { | |||
269 | #define FSNOTIFY_MARK_FLAG_INODE 0x01 | 269 | #define FSNOTIFY_MARK_FLAG_INODE 0x01 |
270 | #define FSNOTIFY_MARK_FLAG_VFSMOUNT 0x02 | 270 | #define FSNOTIFY_MARK_FLAG_VFSMOUNT 0x02 |
271 | unsigned int flags; /* vfsmount or inode mark? */ | 271 | unsigned int flags; /* vfsmount or inode mark? */ |
272 | void (*free_mark)(struct fsnotify_mark_entry *entry); /* called on final put+free */ | 272 | void (*free_mark)(struct fsnotify_mark *entry); /* called on final put+free */ |
273 | }; | 273 | }; |
274 | 274 | ||
275 | #ifdef CONFIG_FSNOTIFY | 275 | #ifdef CONFIG_FSNOTIFY |
@@ -361,19 +361,19 @@ extern struct fsnotify_event *fsnotify_remove_notify_event(struct fsnotify_group | |||
361 | 361 | ||
362 | /* run all marks associated with an inode and update inode->i_fsnotify_mask */ | 362 | /* run all marks associated with an inode and update inode->i_fsnotify_mask */ |
363 | extern void fsnotify_recalc_inode_mask(struct inode *inode); | 363 | extern void fsnotify_recalc_inode_mask(struct inode *inode); |
364 | extern void fsnotify_init_mark(struct fsnotify_mark_entry *entry, void (*free_mark)(struct fsnotify_mark_entry *entry)); | 364 | extern void fsnotify_init_mark(struct fsnotify_mark *entry, void (*free_mark)(struct fsnotify_mark *entry)); |
365 | /* find (and take a reference) to a mark associated with group and inode */ | 365 | /* find (and take a reference) to a mark associated with group and inode */ |
366 | extern struct fsnotify_mark_entry *fsnotify_find_mark_entry(struct fsnotify_group *group, struct inode *inode); | 366 | extern struct fsnotify_mark *fsnotify_find_mark_entry(struct fsnotify_group *group, struct inode *inode); |
367 | /* copy the values from old into new */ | 367 | /* copy the values from old into new */ |
368 | extern void fsnotify_duplicate_mark(struct fsnotify_mark_entry *new, struct fsnotify_mark_entry *old); | 368 | extern void fsnotify_duplicate_mark(struct fsnotify_mark *new, struct fsnotify_mark *old); |
369 | /* attach the mark to both the group and the inode */ | 369 | /* attach the mark to both the group and the inode */ |
370 | extern int fsnotify_add_mark(struct fsnotify_mark_entry *entry, struct fsnotify_group *group, struct inode *inode, int allow_dups); | 370 | extern int fsnotify_add_mark(struct fsnotify_mark *entry, struct fsnotify_group *group, struct inode *inode, int allow_dups); |
371 | /* given a mark, flag it to be freed when all references are dropped */ | 371 | /* given a mark, flag it to be freed when all references are dropped */ |
372 | extern void fsnotify_destroy_mark_by_entry(struct fsnotify_mark_entry *entry); | 372 | extern void fsnotify_destroy_mark_by_entry(struct fsnotify_mark *entry); |
373 | /* run all the marks in a group, and flag them to be freed */ | 373 | /* run all the marks in a group, and flag them to be freed */ |
374 | extern void fsnotify_clear_marks_by_group(struct fsnotify_group *group); | 374 | extern void fsnotify_clear_marks_by_group(struct fsnotify_group *group); |
375 | extern void fsnotify_get_mark(struct fsnotify_mark_entry *entry); | 375 | extern void fsnotify_get_mark(struct fsnotify_mark *entry); |
376 | extern void fsnotify_put_mark(struct fsnotify_mark_entry *entry); | 376 | extern void fsnotify_put_mark(struct fsnotify_mark *entry); |
377 | extern void fsnotify_unmount_inodes(struct list_head *list); | 377 | extern void fsnotify_unmount_inodes(struct list_head *list); |
378 | 378 | ||
379 | /* put here because inotify does some weird stuff when destroying watches */ | 379 | /* put here because inotify does some weird stuff when destroying watches */ |