mirror of
https://github.com/torvalds/linux
synced 2024-09-06 18:01:05 +00:00
fsnotify: Create function to remove event from notification list
Create function to remove event from the notification list. Later it will be used from more places. Reviewed-by: Amir Goldstein <amir73il@gmail.com> Signed-off-by: Jan Kara <jack@suse.cz>
This commit is contained in:
parent
8c5544666c
commit
f7db89accc
|
@ -141,6 +141,18 @@ int fsnotify_add_event(struct fsnotify_group *group,
|
|||
return ret;
|
||||
}
|
||||
|
||||
void fsnotify_remove_queued_event(struct fsnotify_group *group,
|
||||
struct fsnotify_event *event)
|
||||
{
|
||||
assert_spin_locked(&group->notification_lock);
|
||||
/*
|
||||
* We need to init list head for the case of overflow event so that
|
||||
* check in fsnotify_add_event() works
|
||||
*/
|
||||
list_del_init(&event->list);
|
||||
group->q_len--;
|
||||
}
|
||||
|
||||
/*
|
||||
* Remove and return the first event from the notification list. It is the
|
||||
* responsibility of the caller to destroy the obtained event
|
||||
|
@ -155,13 +167,7 @@ struct fsnotify_event *fsnotify_remove_first_event(struct fsnotify_group *group)
|
|||
|
||||
event = list_first_entry(&group->notification_list,
|
||||
struct fsnotify_event, list);
|
||||
/*
|
||||
* We need to init list head for the case of overflow event so that
|
||||
* check in fsnotify_add_event() works
|
||||
*/
|
||||
list_del_init(&event->list);
|
||||
group->q_len--;
|
||||
|
||||
fsnotify_remove_queued_event(group, event);
|
||||
return event;
|
||||
}
|
||||
|
||||
|
|
|
@ -422,6 +422,9 @@ extern bool fsnotify_notify_queue_is_empty(struct fsnotify_group *group);
|
|||
extern struct fsnotify_event *fsnotify_peek_first_event(struct fsnotify_group *group);
|
||||
/* return AND dequeue the first event on the notification queue */
|
||||
extern struct fsnotify_event *fsnotify_remove_first_event(struct fsnotify_group *group);
|
||||
/* Remove event queued in the notification list */
|
||||
extern void fsnotify_remove_queued_event(struct fsnotify_group *group,
|
||||
struct fsnotify_event *event);
|
||||
|
||||
/* functions used to manipulate the marks attached to inodes */
|
||||
|
||||
|
|
Loading…
Reference in a new issue