Add the rt linux 4.1.3-rt3 as base
[kvmfornfv.git] / kernel / drivers / staging / lustre / lustre / include / lustre_param.h
diff --git a/kernel/drivers/staging/lustre/lustre/include/lustre_param.h b/kernel/drivers/staging/lustre/lustre/include/lustre_param.h
new file mode 100644 (file)
index 0000000..ed65468
--- /dev/null
@@ -0,0 +1,121 @@
+/*
+ * GPL HEADER START
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 only,
+ * as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * General Public License version 2 for more details (a copy is included
+ * in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License
+ * version 2 along with this program; If not, see
+ * http://www.sun.com/software/products/lustre/docs/GPLv2.pdf
+ *
+ * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
+ * CA 95054 USA or visit www.sun.com if you need additional information or
+ * have any questions.
+ *
+ * GPL HEADER END
+ */
+/*
+ * Copyright (c) 2007, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Use is subject to license terms.
+ *
+ * Copyright (c) 2011, 2012, Intel Corporation.
+ */
+/*
+ * This file is part of Lustre, http://www.lustre.org/
+ * Lustre is a trademark of Sun Microsystems, Inc.
+ *
+ * lustre/include/lustre_param.h
+ *
+ * User-settable parameter keys
+ *
+ * Author: Nathan Rutman <nathan@clusterfs.com>
+ */
+
+#ifndef _LUSTRE_PARAM_H
+#define _LUSTRE_PARAM_H
+
+/** \defgroup param param
+ *
+ * @{
+ */
+
+/* For interoperability */
+struct cfg_interop_param {
+       char *old_param;
+       char *new_param;
+};
+
+/* obd_config.c */
+int class_find_param(char *buf, char *key, char **valp);
+struct cfg_interop_param *class_find_old_param(const char *param,
+                                              struct cfg_interop_param *ptr);
+int class_get_next_param(char **params, char *copy);
+int class_match_param(char *buf, char *key, char **valp);
+int class_parse_nid(char *buf, lnet_nid_t *nid, char **endh);
+int class_parse_nid_quiet(char *buf, lnet_nid_t *nid, char **endh);
+int class_parse_net(char *buf, __u32 *net, char **endh);
+int class_match_nid(char *buf, char *key, lnet_nid_t nid);
+int class_match_net(char *buf, char *key, __u32 net);
+/* obd_mount.c */
+int do_lcfg(char *cfgname, lnet_nid_t nid, int cmd,
+           char *s1, char *s2, char *s3, char *s4);
+
+
+
+/****************** User-settable parameter keys *********************/
+/* e.g.
+       tunefs.lustre --param="failover.node=192.168.0.13@tcp0" /dev/sda
+       lctl conf_param testfs-OST0000 failover.node=3@elan,192.168.0.3@tcp0
+                   ... testfs-MDT0000.lov.stripesize=4M
+                   ... testfs-OST0000.ost.client_cache_seconds=15
+                   ... testfs.sys.timeout=<secs>
+                   ... testfs.llite.max_read_ahead_mb=16
+*/
+
+/* System global or special params not handled in obd's proc
+ * See mgs_write_log_sys()
+ */
+#define PARAM_TIMEOUT        "timeout="          /* global */
+#define PARAM_LDLM_TIMEOUT      "ldlm_timeout="     /* global */
+#define PARAM_AT_MIN          "at_min="           /* global */
+#define PARAM_AT_MAX          "at_max="           /* global */
+#define PARAM_AT_EXTRA      "at_extra="         /* global */
+#define PARAM_AT_EARLY_MARGIN      "at_early_margin="  /* global */
+#define PARAM_AT_HISTORY          "at_history="       /* global */
+#define PARAM_JOBID_VAR                   "jobid_var="        /* global */
+#define PARAM_MGSNODE        "mgsnode="          /* only at mounttime */
+#define PARAM_FAILNODE      "failover.node="    /* add failover nid */
+#define PARAM_FAILMODE      "failover.mode="    /* initial mount only */
+#define PARAM_ACTIVE          "active="           /* activate/deactivate */
+#define PARAM_NETWORK        "network="          /* bind on nid */
+#define PARAM_ID_UPCALL                "identity_upcall="  /* identity upcall */
+
+/* Prefixes for parameters handled by obd's proc methods (XXX_process_config) */
+#define PARAM_OST                "ost."
+#define PARAM_OSC                "osc."
+#define PARAM_MDT                "mdt."
+#define PARAM_MDD                "mdd."
+#define PARAM_MDC                "mdc."
+#define PARAM_LLITE            "llite."
+#define PARAM_LOV                "lov."
+#define PARAM_LOD              "lod."
+#define PARAM_OSP              "osp."
+#define PARAM_SYS                "sys."              /* global */
+#define PARAM_SRPC              "srpc."
+#define PARAM_SRPC_FLVR            "srpc.flavor."
+#define PARAM_SRPC_UDESC          "srpc.udesc.cli2mdt"
+#define PARAM_SEC                "security."
+#define PARAM_QUOTA            "quota."            /* global */
+
+/** @} param */
+
+#endif /* _LUSTRE_PARAM_H */