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