GNU Linux-libre 6.1.86-gnu
[releases.git] / fs / ocfs2 / dlm / dlmdomain.h
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