xref: /linux/fs/ocfs2/dlm/dlmdomain.h (revision 2da68a77)
1 /* SPDX-License-Identifier: GPL-2.0-or-later */
2 /*
3  * dlmdomain.h
4  *
5  * Copyright (C) 2004 Oracle.  All rights reserved.
6  */
7 
8 #ifndef DLMDOMAIN_H
9 #define DLMDOMAIN_H
10 
11 extern spinlock_t dlm_domain_lock;
12 extern struct list_head dlm_domains;
13 
14 static inline int dlm_joined(struct dlm_ctxt *dlm)
15 {
16 	int ret = 0;
17 
18 	spin_lock(&dlm_domain_lock);
19 	if (dlm->dlm_state == DLM_CTXT_JOINED)
20 		ret = 1;
21 	spin_unlock(&dlm_domain_lock);
22 
23 	return ret;
24 }
25 
26 static inline int dlm_shutting_down(struct dlm_ctxt *dlm)
27 {
28 	int ret = 0;
29 
30 	spin_lock(&dlm_domain_lock);
31 	if (dlm->dlm_state == DLM_CTXT_IN_SHUTDOWN)
32 		ret = 1;
33 	spin_unlock(&dlm_domain_lock);
34 
35 	return ret;
36 }
37 
38 void dlm_fire_domain_eviction_callbacks(struct dlm_ctxt *dlm,
39 					int node_num);
40 
41 #endif
42