1 /* SPDX-License-Identifier: GPL-2.0 */ 2 #include <linux/wait.h> 3 4 struct fs_pin { 5 wait_queue_head_t wait; 6 int done; 7 struct hlist_node s_list; 8 struct hlist_node m_list; 9 void (*kill)(struct fs_pin *); 10 }; 11 12 struct vfsmount; 13 init_fs_pin(struct fs_pin * p,void (* kill)(struct fs_pin *))14static inline void init_fs_pin(struct fs_pin *p, void (*kill)(struct fs_pin *)) 15 { 16 init_waitqueue_head(&p->wait); 17 INIT_HLIST_NODE(&p->s_list); 18 INIT_HLIST_NODE(&p->m_list); 19 p->kill = kill; 20 } 21 22 void pin_remove(struct fs_pin *); 23 void pin_insert(struct fs_pin *, struct vfsmount *); 24 void pin_kill(struct fs_pin *); 25