David Teigland | b3b94fa | 2006-01-16 16:50:04 +0000 | [diff] [blame] | 1 | /* |
| 2 | * Copyright (C) Sistina Software, Inc. 1997-2003 All rights reserved. |
Steven Whitehouse | 3a8a9a1 | 2006-05-18 15:09:15 -0400 | [diff] [blame] | 3 | * Copyright (C) 2004-2006 Red Hat, Inc. All rights reserved. |
David Teigland | b3b94fa | 2006-01-16 16:50:04 +0000 | [diff] [blame] | 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 |
Steven Whitehouse | e9fc2aa | 2006-09-01 11:05:15 -0400 | [diff] [blame] | 7 | * of the GNU General Public License version 2. |
David Teigland | b3b94fa | 2006-01-16 16:50:04 +0000 | [diff] [blame] | 8 | */ |
| 9 | |
| 10 | #ifndef __LM_DOT_H__ |
| 11 | #define __LM_DOT_H__ |
| 12 | |
Steven Whitehouse | f2f7ba5 | 2006-09-05 10:39:21 -0400 | [diff] [blame] | 13 | struct gfs2_sbd; |
| 14 | |
Steven Whitehouse | e9fc2aa | 2006-09-01 11:05:15 -0400 | [diff] [blame] | 15 | #define GFS2_MIN_LVB_SIZE 32 |
| 16 | |
David Teigland | b3b94fa | 2006-01-16 16:50:04 +0000 | [diff] [blame] | 17 | int gfs2_lm_mount(struct gfs2_sbd *sdp, int silent); |
| 18 | void gfs2_lm_others_may_mount(struct gfs2_sbd *sdp); |
| 19 | void gfs2_lm_unmount(struct gfs2_sbd *sdp); |
| 20 | int gfs2_lm_withdraw(struct gfs2_sbd *sdp, char *fmt, ...) |
Steven Whitehouse | 5029996 | 2006-09-04 09:49:55 -0400 | [diff] [blame] | 21 | __attribute__ ((format(printf, 2, 3))); |
| 22 | int gfs2_lm_get_lock(struct gfs2_sbd *sdp, struct lm_lockname *name, |
Steven Whitehouse | 9b47c11 | 2006-09-08 10:17:58 -0400 | [diff] [blame] | 23 | void **lockp); |
| 24 | void gfs2_lm_put_lock(struct gfs2_sbd *sdp, void *lock); |
| 25 | unsigned int gfs2_lm_lock(struct gfs2_sbd *sdp, void *lock, |
David Teigland | b3b94fa | 2006-01-16 16:50:04 +0000 | [diff] [blame] | 26 | unsigned int cur_state, unsigned int req_state, |
| 27 | unsigned int flags); |
Steven Whitehouse | 9b47c11 | 2006-09-08 10:17:58 -0400 | [diff] [blame] | 28 | unsigned int gfs2_lm_unlock(struct gfs2_sbd *sdp, void *lock, |
David Teigland | b3b94fa | 2006-01-16 16:50:04 +0000 | [diff] [blame] | 29 | unsigned int cur_state); |
Steven Whitehouse | 9b47c11 | 2006-09-08 10:17:58 -0400 | [diff] [blame] | 30 | void gfs2_lm_cancel(struct gfs2_sbd *sdp, void *lock); |
| 31 | int gfs2_lm_hold_lvb(struct gfs2_sbd *sdp, void *lock, char **lvbp); |
| 32 | void gfs2_lm_unhold_lvb(struct gfs2_sbd *sdp, void *lock, char *lvb); |
Steven Whitehouse | 5029996 | 2006-09-04 09:49:55 -0400 | [diff] [blame] | 33 | int gfs2_lm_plock_get(struct gfs2_sbd *sdp, struct lm_lockname *name, |
| 34 | struct file *file, struct file_lock *fl); |
| 35 | int gfs2_lm_plock(struct gfs2_sbd *sdp, struct lm_lockname *name, |
| 36 | struct file *file, int cmd, struct file_lock *fl); |
| 37 | int gfs2_lm_punlock(struct gfs2_sbd *sdp, struct lm_lockname *name, |
| 38 | struct file *file, struct file_lock *fl); |
| 39 | void gfs2_lm_recovery_done(struct gfs2_sbd *sdp, unsigned int jid, |
| 40 | unsigned int message); |
David Teigland | b3b94fa | 2006-01-16 16:50:04 +0000 | [diff] [blame] | 41 | |
| 42 | #endif /* __LM_DOT_H__ */ |