1*59eda0e0SAl Viro #include <linux/wait.h> 2efb170c2SAl Viro 3efb170c2SAl Viro struct fs_pin { 4*59eda0e0SAl Viro wait_queue_head_t wait; 5*59eda0e0SAl Viro int done; 6efb170c2SAl Viro struct hlist_node s_list; 7efb170c2SAl Viro struct hlist_node m_list; 8efb170c2SAl Viro void (*kill)(struct fs_pin *); 9efb170c2SAl Viro }; 10efb170c2SAl Viro 11*59eda0e0SAl Viro struct vfsmount; 12*59eda0e0SAl Viro 13*59eda0e0SAl Viro static inline void init_fs_pin(struct fs_pin *p, void (*kill)(struct fs_pin *)) 14*59eda0e0SAl Viro { 15*59eda0e0SAl Viro init_waitqueue_head(&p->wait); 16*59eda0e0SAl Viro p->kill = kill; 17*59eda0e0SAl Viro } 18*59eda0e0SAl Viro 19efb170c2SAl Viro void pin_remove(struct fs_pin *); 20fdab684dSAl Viro void pin_insert_group(struct fs_pin *, struct vfsmount *, struct hlist_head *); 21efb170c2SAl Viro void pin_insert(struct fs_pin *, struct vfsmount *); 22*59eda0e0SAl Viro void pin_kill(struct fs_pin *); 23