fs_pin.h 580 B

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