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