2006-01-16 19:50:04 +03:00
/*
* Copyright ( C ) Sistina Software , Inc . 1997 - 2003 All rights reserved .
2006-05-18 23:09:15 +04:00
* Copyright ( C ) 2004 - 2006 Red Hat , Inc . All rights reserved .
2006-01-16 19:50:04 +03:00
*
* This copyrighted material is made available to anyone wishing to use ,
* modify , copy , or redistribute it subject to the terms and conditions
2006-09-01 19:05:15 +04:00
* of the GNU General Public License version 2.
2006-01-16 19:50:04 +03:00
*/
# ifndef __LM_DOT_H__
# define __LM_DOT_H__
2006-09-05 18:39:21 +04:00
struct gfs2_sbd ;
2006-09-01 19:05:15 +04:00
# define GFS2_MIN_LVB_SIZE 32
2006-01-16 19:50:04 +03:00
int gfs2_lm_mount ( struct gfs2_sbd * sdp , int silent ) ;
void gfs2_lm_others_may_mount ( struct gfs2_sbd * sdp ) ;
void gfs2_lm_unmount ( struct gfs2_sbd * sdp ) ;
int gfs2_lm_withdraw ( struct gfs2_sbd * sdp , char * fmt , . . . )
2006-09-04 17:49:55 +04:00
__attribute__ ( ( format ( printf , 2 , 3 ) ) ) ;
int gfs2_lm_get_lock ( struct gfs2_sbd * sdp , struct lm_lockname * name ,
2006-09-08 18:17:58 +04:00
void * * lockp ) ;
void gfs2_lm_put_lock ( struct gfs2_sbd * sdp , void * lock ) ;
unsigned int gfs2_lm_lock ( struct gfs2_sbd * sdp , void * lock ,
2006-01-16 19:50:04 +03:00
unsigned int cur_state , unsigned int req_state ,
unsigned int flags ) ;
2006-09-08 18:17:58 +04:00
unsigned int gfs2_lm_unlock ( struct gfs2_sbd * sdp , void * lock ,
2006-01-16 19:50:04 +03:00
unsigned int cur_state ) ;
2006-09-08 18:17:58 +04:00
void gfs2_lm_cancel ( struct gfs2_sbd * sdp , void * lock ) ;
int gfs2_lm_hold_lvb ( struct gfs2_sbd * sdp , void * lock , char * * lvbp ) ;
void gfs2_lm_unhold_lvb ( struct gfs2_sbd * sdp , void * lock , char * lvb ) ;
2006-09-04 17:49:55 +04:00
int gfs2_lm_plock_get ( struct gfs2_sbd * sdp , struct lm_lockname * name ,
struct file * file , struct file_lock * fl ) ;
int gfs2_lm_plock ( struct gfs2_sbd * sdp , struct lm_lockname * name ,
struct file * file , int cmd , struct file_lock * fl ) ;
int gfs2_lm_punlock ( struct gfs2_sbd * sdp , struct lm_lockname * name ,
struct file * file , struct file_lock * fl ) ;
void gfs2_lm_recovery_done ( struct gfs2_sbd * sdp , unsigned int jid ,
unsigned int message ) ;
2006-01-16 19:50:04 +03:00
# endif /* __LM_DOT_H__ */