diff options
author | Al Viro <viro@zeniv.linux.org.uk> | 2015-01-10 17:53:21 -0500 |
---|---|---|
committer | Al Viro <viro@zeniv.linux.org.uk> | 2015-01-25 23:17:28 -0500 |
commit | 59eda0e07f43c950d31756213b607af673e551f0 (patch) | |
tree | f40f7b67133576c36a65a4cba9aca5df68d00f34 /include/linux/fs_pin.h | |
parent | fdab684d7202774bfd8762d4a656a553b787c8ec (diff) | |
download | lwn-59eda0e07f43c950d31756213b607af673e551f0.tar.gz lwn-59eda0e07f43c950d31756213b607af673e551f0.zip |
new fs_pin killing logics
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Diffstat (limited to 'include/linux/fs_pin.h')
-rw-r--r-- | include/linux/fs_pin.h | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/include/linux/fs_pin.h b/include/linux/fs_pin.h index 2be38d1464ae..9dc4e0384bfb 100644 --- a/include/linux/fs_pin.h +++ b/include/linux/fs_pin.h @@ -1,11 +1,22 @@ -#include <linux/fs.h> +#include <linux/wait.h> struct fs_pin { + wait_queue_head_t wait; + int done; struct hlist_node s_list; struct hlist_node m_list; void (*kill)(struct fs_pin *); }; +struct vfsmount; + +static inline void init_fs_pin(struct fs_pin *p, void (*kill)(struct fs_pin *)) +{ + init_waitqueue_head(&p->wait); + p->kill = kill; +} + void pin_remove(struct fs_pin *); void pin_insert_group(struct fs_pin *, struct vfsmount *, struct hlist_head *); void pin_insert(struct fs_pin *, struct vfsmount *); +void pin_kill(struct fs_pin *); |