Branch data Line data Source code
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 : : 14 : : static inline void init_fs_pin(struct fs_pin *p, void (*kill)(struct fs_pin *)) 15 : : { 16 : 0 : init_waitqueue_head(&p->wait); 17 : : INIT_HLIST_NODE(&p->s_list); 18 : : INIT_HLIST_NODE(&p->m_list); 19 : 0 : 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 *);