watch_list
struct watch_list *watchers; /* Entities watching this key for changes */
static inline void post_watch_notification(struct watch_list *wlist,
static inline void remove_watch_list(struct watch_list *wlist, u64 id)
struct watch_list __rcu *watch_list;
extern void __post_watch_notification(struct watch_list *,
extern int add_watch_to_object(struct watch *, struct watch_list *);
extern int remove_watch_from_object(struct watch_list *, struct watch_queue *, u64, bool);
static inline void init_watch_list(struct watch_list *wlist,
void __post_watch_notification(struct watch_list *wlist,
static int add_one_watch(struct watch *watch, struct watch_list *wlist, struct watch_queue *wqueue)
rcu_assign_pointer(watch->watch_list, wlist);
int add_watch_to_object(struct watch *watch, struct watch_list *wlist)
int remove_watch_from_object(struct watch_list *wlist, struct watch_queue *wq,
rcu_assign_pointer(watch->watch_list, NULL);
struct watch_list *wlist;
wlist = rcu_dereference(watch->watch_list);
rcu_assign_pointer(watch->watch_list, NULL);
struct watch_list *wlist = NULL;