Back to home page

OSCL-LXR

 
 

    


0001 /* SPDX-License-Identifier: GPL-2.0 */
0002 #include <linux/wait.h>
0003 
0004 struct fs_pin {
0005     wait_queue_head_t   wait;
0006     int         done;
0007     struct hlist_node   s_list;
0008     struct hlist_node   m_list;
0009     void (*kill)(struct fs_pin *);
0010 };
0011 
0012 struct vfsmount;
0013 
0014 static inline void init_fs_pin(struct fs_pin *p, void (*kill)(struct fs_pin *))
0015 {
0016     init_waitqueue_head(&p->wait);
0017     INIT_HLIST_NODE(&p->s_list);
0018     INIT_HLIST_NODE(&p->m_list);
0019     p->kill = kill;
0020 }
0021 
0022 void pin_remove(struct fs_pin *);
0023 void pin_insert(struct fs_pin *, struct vfsmount *);
0024 void pin_kill(struct fs_pin *);