lm.h 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  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 version 2.
  8. */
  9. #ifndef __LM_DOT_H__
  10. #define __LM_DOT_H__
  11. struct gfs2_sbd;
  12. #define GFS2_MIN_LVB_SIZE 32
  13. int gfs2_lm_mount(struct gfs2_sbd *sdp, int silent);
  14. void gfs2_lm_others_may_mount(struct gfs2_sbd *sdp);
  15. void gfs2_lm_unmount(struct gfs2_sbd *sdp);
  16. int gfs2_lm_withdraw(struct gfs2_sbd *sdp, char *fmt, ...)
  17. __attribute__ ((format(printf, 2, 3)));
  18. int gfs2_lm_get_lock(struct gfs2_sbd *sdp, struct lm_lockname *name,
  19. void **lockp);
  20. void gfs2_lm_put_lock(struct gfs2_sbd *sdp, void *lock);
  21. unsigned int gfs2_lm_lock(struct gfs2_sbd *sdp, void *lock,
  22. unsigned int cur_state, unsigned int req_state,
  23. unsigned int flags);
  24. unsigned int gfs2_lm_unlock(struct gfs2_sbd *sdp, void *lock,
  25. unsigned int cur_state);
  26. void gfs2_lm_cancel(struct gfs2_sbd *sdp, void *lock);
  27. int gfs2_lm_hold_lvb(struct gfs2_sbd *sdp, void *lock, char **lvbp);
  28. void gfs2_lm_unhold_lvb(struct gfs2_sbd *sdp, void *lock, char *lvb);
  29. int gfs2_lm_plock_get(struct gfs2_sbd *sdp, struct lm_lockname *name,
  30. struct file *file, struct file_lock *fl);
  31. int gfs2_lm_plock(struct gfs2_sbd *sdp, struct lm_lockname *name,
  32. struct file *file, int cmd, struct file_lock *fl);
  33. int gfs2_lm_punlock(struct gfs2_sbd *sdp, struct lm_lockname *name,
  34. struct file *file, struct file_lock *fl);
  35. void gfs2_lm_recovery_done(struct gfs2_sbd *sdp, unsigned int jid,
  36. unsigned int message);
  37. #endif /* __LM_DOT_H__ */