1 /* -*- mode: c; c-basic-offset: 8; indent-tabs-mode: nil; -*-
2 * vim:expandtab:shiftwidth=8:tabstop=8:
6 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
8 * This program is free software; you can redistribute it and/or modify
9 * it under the terms of the GNU General Public License version 2 only,
10 * as published by the Free Software Foundation.
12 * This program is distributed in the hope that it will be useful, but
13 * WITHOUT ANY WARRANTY; without even the implied warranty of
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15 * General Public License version 2 for more details (a copy is included
16 * in the LICENSE file that accompanied this code).
18 * You should have received a copy of the GNU General Public License
19 * version 2 along with this program; If not, see
20 * http://www.sun.com/software/products/lustre/docs/GPLv2.pdf
22 * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
23 * CA 95054 USA or visit www.sun.com if you need additional information or
29 * Copyright (c) 2007, 2010, Oracle and/or its affiliates. All rights reserved.
30 * Use is subject to license terms.
33 * This file is part of Lustre, http://www.lustre.org/
34 * Lustre is a trademark of Sun Microsystems, Inc.
36 * lustre/include/lustre_param.h
38 * User-settable parameter keys
40 * Author: Nathan Rutman <nathan@clusterfs.com>
43 #ifndef _LUSTRE_PARAM_H
44 #define _LUSTRE_PARAM_H
46 /** \defgroup param param
52 int class_find_param(char *buf, char *key, char **valp);
53 int class_get_next_param(char **params, char *copy);
54 int class_match_param(char *buf, char *key, char **valp);
55 int class_parse_nid(char *buf, lnet_nid_t *nid, char **endh);
56 int class_parse_net(char *buf, __u32 *net, char **endh);
57 int class_match_nid(char *buf, char *key, lnet_nid_t nid);
58 int class_match_net(char *buf, char *key, __u32 net);
60 int do_lcfg(char *cfgname, lnet_nid_t nid, int cmd,
61 char *s1, char *s2, char *s3, char *s4);
65 /****************** User-settable parameter keys *********************/
67 tunefs.lustre --param="failover.node=192.168.0.13@tcp0" /dev/sda
68 lctl conf_param testfs-OST0000 failover.node=3@elan,192.168.0.3@tcp0
69 ... testfs-MDT0000.lov.stripesize=4M
70 ... testfs-OST0000.ost.client_cache_seconds=15
71 ... testfs.sys.timeout=<secs>
72 ... testfs.llite.max_read_ahead_mb=16
75 /* System global or special params not handled in obd's proc
76 * See mgs_write_log_sys()
78 #define PARAM_TIMEOUT "timeout=" /* global */
79 #define PARAM_LDLM_TIMEOUT "ldlm_timeout=" /* global */
80 #define PARAM_AT_MIN "at_min=" /* global */
81 #define PARAM_AT_MAX "at_max=" /* global */
82 #define PARAM_AT_EXTRA "at_extra=" /* global */
83 #define PARAM_AT_EARLY_MARGIN "at_early_margin=" /* global */
84 #define PARAM_AT_HISTORY "at_history=" /* global */
85 #define PARAM_MGSNODE "mgsnode=" /* only at mounttime */
86 #define PARAM_FAILNODE "failover.node=" /* add failover nid */
87 #define PARAM_FAILMODE "failover.mode=" /* initial mount only */
88 #define PARAM_ACTIVE "active=" /* activate/deactivate */
89 #define PARAM_NETWORK "network=" /* bind on nid */
91 /* Prefixes for parameters handled by obd's proc methods (XXX_process_config) */
92 #define PARAM_OST "ost."
93 #define PARAM_OSC "osc."
94 #define PARAM_MDT "mdt."
95 #define PARAM_MDD "mdd."
96 #define PARAM_MDC "mdc."
97 #define PARAM_LLITE "llite."
98 #define PARAM_LOV "lov."
99 #define PARAM_SYS "sys." /* global */
100 #define PARAM_SRPC "srpc."
101 #define PARAM_SRPC_FLVR "srpc.flavor."
102 #define PARAM_SRPC_UDESC "srpc.udesc.cli2mdt"
103 #define PARAM_SEC "security."
107 #endif /* _LUSTRE_PARAM_H */