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 @@ queue:
|
||||||
return ret;
|
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
|
* Remove and return the first event from the notification list. It is the
|
||||||
* responsibility of the caller to destroy the obtained event
|
* 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,
|
event = list_first_entry(&group->notification_list,
|
||||||
struct fsnotify_event, list);
|
struct fsnotify_event, list);
|
||||||
/*
|
fsnotify_remove_queued_event(group, event);
|
||||||
* 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--;
|
|
||||||
|
|
||||||
return 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);
|
extern struct fsnotify_event *fsnotify_peek_first_event(struct fsnotify_group *group);
|
||||||
/* return AND dequeue the first event on the notification queue */
|
/* return AND dequeue the first event on the notification queue */
|
||||||
extern struct fsnotify_event *fsnotify_remove_first_event(struct fsnotify_group *group);
|
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 */
|
/* functions used to manipulate the marks attached to inodes */
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue