lm.h 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. /*
  2. * Copyright (C) Sistina Software, Inc. 1997-2003 All rights reserved.
  3. * Copyright (C) 2004-2006 Red Hat, Inc. All rights reserved.
  4. *
  5. * This copyrighted material is made available to anyone wishing to use,
  6. * modify, copy, or redistribute it subject to the terms and conditions
  7. * of the GNU General Public License v.2.
  8. */
  9. #ifndef __LM_DOT_H__
  10. #define __LM_DOT_H__
  11. int gfs2_lm_mount(struct gfs2_sbd *sdp, int silent);
  12. void gfs2_lm_others_may_mount(struct gfs2_sbd *sdp);
  13. void gfs2_lm_unmount(struct gfs2_sbd *sdp);
  14. int gfs2_lm_withdraw(struct gfs2_sbd *sdp, char *fmt, ...)
  15. __attribute__ ((format(printf, 2, 3)));
  16. int gfs2_lm_get_lock(struct gfs2_sbd *sdp,
  17. struct lm_lockname *name, lm_lock_t **lockp);
  18. void gfs2_lm_put_lock(struct gfs2_sbd *sdp, lm_lock_t *lock);
  19. unsigned int gfs2_lm_lock(struct gfs2_sbd *sdp, lm_lock_t *lock,
  20. unsigned int cur_state, unsigned int req_state,
  21. unsigned int flags);
  22. unsigned int gfs2_lm_unlock(struct gfs2_sbd *sdp, lm_lock_t *lock,
  23. unsigned int cur_state);
  24. void gfs2_lm_cancel(struct gfs2_sbd *sdp, lm_lock_t *lock);
  25. int gfs2_lm_hold_lvb(struct gfs2_sbd *sdp, lm_lock_t *lock, char **lvbp);
  26. void gfs2_lm_unhold_lvb(struct gfs2_sbd *sdp, lm_lock_t *lock, char *lvb);
  27. int gfs2_lm_plock_get(struct gfs2_sbd *sdp,
  28. struct lm_lockname *name,
  29. struct file *file, struct file_lock *fl);
  30. int gfs2_lm_plock(struct gfs2_sbd *sdp,
  31. struct lm_lockname *name,
  32. struct file *file, int cmd, struct file_lock *fl);
  33. int gfs2_lm_punlock(struct gfs2_sbd *sdp,
  34. struct lm_lockname *name,
  35. struct file *file, struct file_lock *fl);
  36. void gfs2_lm_recovery_done(struct gfs2_sbd *sdp,
  37. unsigned int jid, unsigned int message);
  38. #endif /* __LM_DOT_H__ */