4 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
6 * This program is free software; you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License version 2 only,
8 * as published by the Free Software Foundation.
10 * This program is distributed in the hope that it will be useful, but
11 * WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 * General Public License version 2 for more details (a copy is included
14 * in the LICENSE file that accompanied this code).
16 * You should have received a copy of the GNU General Public License
17 * version 2 along with this program; If not, see
18 * http://www.gnu.org/licenses/gpl-2.0.html
23 * Copyright (c) 2008, 2010, Oracle and/or its affiliates. All rights reserved.
24 * Use is subject to license terms.
26 * Copyright (c) 2011, 2017, Intel Corporation.
29 * This file is part of Lustre, http://www.lustre.org/
32 #ifndef _MGC_INTERNAL_H
33 #define _MGC_INTERNAL_H
35 #include <libcfs/libcfs.h>
36 #include <lustre_lib.h>
37 #include <lustre_dlm.h>
38 #include <lustre_log.h>
39 #include <lustre_export.h>
41 int mgc_tunables_init(struct obd_device *obd);
42 int lprocfs_mgc_rd_ir_state(struct seq_file *m, void *data);
44 int mgc_process_log(struct obd_device *mgc, struct config_llog_data *cld);
46 /* this timeout represents how many seconds MGC should wait before
47 * requeue config and recover lock to the MGS. We need to randomize this
48 * in order to not flood the MGS.
50 #define MGC_TIMEOUT_MIN_SECONDS 5
52 extern unsigned int mgc_requeue_timeout_min;
54 static inline bool cld_is_sptlrpc(struct config_llog_data *cld)
56 return cld->cld_type == MGS_CFG_T_SPTLRPC;
59 static inline bool cld_is_recover(struct config_llog_data *cld)
61 return cld->cld_type == MGS_CFG_T_RECOVER;
64 static inline bool cld_is_nodemap(struct config_llog_data *cld)
66 return cld->cld_type == MGS_CFG_T_NODEMAP;
69 static inline bool cld_is_barrier(struct config_llog_data *cld)
71 return cld->cld_type == MGS_CFG_T_BARRIER;
74 #endif /* _MGC_INTERNAL_H */