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