2006-01-18 09:30:29 +00: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 ) ;
2006-08-18 11:54:25 -05:00
void dlm_dump_rsb ( struct dlm_rsb * r ) ;
2006-07-12 16:44:04 -05:00
void dlm_print_lkb ( struct dlm_lkb * lkb ) ;
2006-01-18 09:30:29 +00:00
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 13:34:03 -04:00
void dlm_grant_after_purge ( struct dlm_ls * ls ) ;
2006-01-18 09:30:29 +00: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 ) ;
2006-07-12 16:44:04 -05:00
int dlm_user_request ( struct dlm_ls * ls , struct dlm_user_args * ua , int mode ,
uint32_t flags , void * name , unsigned int namelen , uint32_t parent_lkid ) ;
int dlm_user_convert ( struct dlm_ls * ls , struct dlm_user_args * ua_tmp ,
int mode , uint32_t flags , uint32_t lkid , char * lvb_in ) ;
int dlm_user_unlock ( struct dlm_ls * ls , struct dlm_user_args * ua_tmp ,
uint32_t flags , uint32_t lkid , char * lvb_in ) ;
int dlm_user_cancel ( struct dlm_ls * ls , struct dlm_user_args * ua_tmp ,
uint32_t flags , uint32_t lkid ) ;
void dlm_clear_proc_locks ( struct dlm_ls * ls , struct dlm_user_proc * proc ) ;
2006-01-18 09:30:29 +00:00
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 08:47:07 +00:00
mutex_lock ( & r - > res_mutex ) ;
2006-01-18 09:30:29 +00:00
}
static inline void unlock_rsb ( struct dlm_rsb * r )
{
2006-01-20 08:47:07 +00:00
mutex_unlock ( & r - > res_mutex ) ;
2006-01-18 09:30:29 +00:00
}
# endif