Lines Matching refs:wlist

198 void __post_watch_notification(struct watch_list *wlist,  in __post_watch_notification()  argument
214 hlist_for_each_entry_rcu(watch, &wlist->watchers, list_node) { in __post_watch_notification()
457 static int add_one_watch(struct watch *watch, struct watch_list *wlist, struct watch_queue *wqueue) in add_one_watch() argument
462 hlist_for_each_entry(w, &wlist->watchers, list_node) { in add_one_watch()
475 rcu_assign_pointer(watch->watch_list, wlist); in add_one_watch()
480 hlist_add_head_rcu(&watch->list_node, &wlist->watchers); in add_one_watch()
496 int add_watch_to_object(struct watch *watch, struct watch_list *wlist) in add_watch_to_object() argument
505 spin_lock(&wlist->lock); in add_watch_to_object()
506 ret = add_one_watch(watch, wlist, wqueue); in add_watch_to_object()
507 spin_unlock(&wlist->lock); in add_watch_to_object()
526 int remove_watch_from_object(struct watch_list *wlist, struct watch_queue *wq, in remove_watch_from_object() argument
537 spin_lock(&wlist->lock); in remove_watch_from_object()
538 hlist_for_each_entry(watch, &wlist->watchers, list_node) { in remove_watch_from_object()
543 spin_unlock(&wlist->lock); in remove_watch_from_object()
550 spin_unlock(&wlist->lock); in remove_watch_from_object()
574 if (wlist->release_watch) { in remove_watch_from_object()
577 release_watch = wlist->release_watch; in remove_watch_from_object()
584 if (all && !hlist_empty(&wlist->watchers)) in remove_watch_from_object()
599 struct watch_list *wlist; in watch_queue_clear() local
620 wlist = rcu_dereference(watch->watch_list); in watch_queue_clear()
621 if (wlist) { in watch_queue_clear()
624 spin_lock(&wlist->lock); in watch_queue_clear()
634 release_watch = wlist->release_watch; in watch_queue_clear()
635 spin_unlock(&wlist->lock); in watch_queue_clear()