2006-01-18 12:30:29 +03:00
/******************************************************************************
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* *
* * Copyright ( C ) 2005 Red Hat , Inc . All rights reserved .
* *
* * This copyrighted material is made available to anyone wishing to use ,
* * modify , copy , or redistribute it subject to the terms and conditions
* * of the GNU General Public License v .2 .
* *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
# ifndef __LOCK_DOT_H__
# define __LOCK_DOT_H__
void dlm_print_rsb ( struct dlm_rsb * r ) ;
int dlm_receive_message ( struct dlm_header * hd , int nodeid , int recovery ) ;
int dlm_modes_compat ( int mode1 , int mode2 ) ;
int dlm_find_rsb ( struct dlm_ls * ls , char * name , int namelen ,
unsigned int flags , struct dlm_rsb * * r_ret ) ;
void dlm_put_rsb ( struct dlm_rsb * r ) ;
void dlm_hold_rsb ( struct dlm_rsb * r ) ;
int dlm_put_lkb ( struct dlm_lkb * lkb ) ;
void dlm_scan_rsbs ( struct dlm_ls * ls ) ;
int dlm_purge_locks ( struct dlm_ls * ls ) ;
void dlm_purge_mstcpy_locks ( struct dlm_rsb * r ) ;
2006-05-02 21:34:03 +04:00
void dlm_grant_after_purge ( struct dlm_ls * ls ) ;
2006-01-18 12:30:29 +03:00
int dlm_recover_waiters_post ( struct dlm_ls * ls ) ;
void dlm_recover_waiters_pre ( struct dlm_ls * ls ) ;
int dlm_recover_master_copy ( struct dlm_ls * ls , struct dlm_rcom * rc ) ;
int dlm_recover_process_copy ( struct dlm_ls * ls , struct dlm_rcom * rc ) ;
static inline int is_master ( struct dlm_rsb * r )
{
return ! r - > res_nodeid ;
}
static inline void lock_rsb ( struct dlm_rsb * r )
{
2006-01-20 11:47:07 +03:00
mutex_lock ( & r - > res_mutex ) ;
2006-01-18 12:30:29 +03:00
}
static inline void unlock_rsb ( struct dlm_rsb * r )
{
2006-01-20 11:47:07 +03:00
mutex_unlock ( & r - > res_mutex ) ;
2006-01-18 12:30:29 +03:00
}
# endif