#ifndef _LUSTRE_PARAM_H
#define _LUSTRE_PARAM_H
-/* obd_mount.c */
+/* obd_config.c */
int class_find_param(char *buf, char *key, char **valp);
int class_match_param(char *buf, char *key, char **valp);
int class_parse_nid(char *buf, lnet_nid_t *nid, char **endh);
+/* 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 *********************/
-#define PARAM_MGSNODE "mgsnode="
-#define PARAM_FAILNODE "failnode="
-#define PARAM_FAILMODE "failmode="
-#define PARAM_OBD_TIMEOUT "obd_timeout="
-#define PARAM_DEFAULT_STRIPE "default_stripe_"
-#define PARAM_D_STRIPE_SIZE PARAM_DEFAULT_STRIPE"size"
-#define PARAM_D_STRIPE_COUNT PARAM_DEFAULT_STRIPE"count"
-#define PARAM_D_STRIPE_OFFSET PARAM_DEFAULT_STRIPE"offset"
-#define PARAM_D_STRIPE_PATTERN PARAM_DEFAULT_STRIPE"pattern"
+#define PARAM_SYS_TIMEOUT "sys.timeout="
+#define PARAM_MGSNODE "mgsnode="
+#define PARAM_FAILNODE "failover.node="
+#define PARAM_FAILMODE "failover.mode="
+#define PARAM_LOV_STRIPE "lov.stripe."
+#define PARAM_LOV_STRIPE_SIZE PARAM_LOV_STRIPE"size="
+#define PARAM_LOV_STRIPE_COUNT PARAM_LOV_STRIPE"count="
+#define PARAM_LOV_STRIPE_OFFSET PARAM_LOV_STRIPE"offset="
+#define PARAM_LOV_STRIPE_PATTERN PARAM_LOV_STRIPE"pattern="
#endif // _LUSTRE_PARAM_H
/* continue parsing other params */
continue;
}
- *sval = 0;
val = simple_strtol(sval + 1, NULL, 0);
- if (strcmp(key, PARAM_D_STRIPE_SIZE) == 0)
+ if (class_match_param(key, PARAM_LOV_STRIPE_SIZE,0) == 0)
desc->ld_default_stripe_size = val;
- else if (strcmp(key, PARAM_D_STRIPE_COUNT) == 0)
+ else if (class_match_param(key, PARAM_LOV_STRIPE_COUNT, 0) == 0)
desc->ld_default_stripe_count = val;
- else if (strcmp(key, PARAM_D_STRIPE_OFFSET) == 0)
+ else if (class_match_param(key, PARAM_LOV_STRIPE_OFFSET, 0) == 0)
desc->ld_default_stripe_offset = val;
- else if (strcmp(key, PARAM_D_STRIPE_PATTERN) == 0)
+ else if (class_match_param(key, PARAM_LOV_STRIPE_PATTERN, 0) == 0)
desc->ld_pattern = val;
else {
CERROR("Unknown param %s\n", key);
GOTO(end_while, rc);
}
- if (class_match_param(ptr, PARAM_OBD_TIMEOUT, &endptr) == 0) {
+ if (class_match_param(ptr, PARAM_SYS_TIMEOUT, &endptr) == 0) {
/* Change obd timeout */
int timeout;
timeout = simple_strtoul(endptr, &endptr, 0);
GOTO(end_while, rc);
}
- if (class_match_param(ptr, PARAM_DEFAULT_STRIPE, &endptr) == 0){
+ if (class_match_param(ptr, PARAM_LOV_STRIPE, &endptr) == 0){
/* Change lov default stripe params */
char *logname;
CDEBUG(D_MGS, "lov param %s\n", ptr);
#include <lprocfs_status.h>
#include <libcfs/list.h>
+/*********** string parsing utils *********/
+
+/* returns 0 if we find this key in the buffer, else 1 */
+int class_find_param(char *buf, char *key, char **valp)
+{
+ char *ptr;
+
+ if (!buf)
+ return 1;
+
+ if ((ptr = strstr(buf, key)) == NULL)
+ return 1;
+
+ if (valp)
+ *valp = ptr + strlen(key);
+
+ return 0;
+}
+
+/* returns 0 if this is the first key in the buffer, else 1 */
+int class_match_param(char *buf, char *key, char **valp)
+{
+ if (!buf)
+ return 1;
+
+ if (memcmp(buf, key, strlen(key)) != 0)
+ return 1;
+
+ if (valp)
+ *valp = buf + strlen(key);
+
+ return 0;
+}
+
+/* 0 is good nid,
+ 1 not found
+ < 0 error
+ endh is set to next separator */
+int class_parse_nid(char *buf, lnet_nid_t *nid, char **endh)
+{
+ char tmp, *endp;
+
+ if (!buf)
+ return 1;
+ while (*buf == ',' || *buf == ':')
+ buf++;
+ if (*buf == ' ' || *buf == '/' || *buf == '\0')
+ return 1;
+
+ /* nid separators or end of nids */
+ endp = strpbrk(buf, ",: /");
+ if (endp == NULL)
+ endp = buf + strlen(buf);
+
+ tmp = *endp;
+ *endp = '\0';
+ *nid = libcfs_str2nid(buf);
+ if (*nid == LNET_NID_ANY) {
+ LCONSOLE_ERROR("Can't parse NID '%s'\n", buf);
+ *endp = tmp;
+ return -EINVAL;
+ }
+ *endp = tmp;
+
+ if (endh)
+ *endh = endp;
+ CDEBUG(D_INFO, "Nid %s\n", libcfs_nid2str(*nid));
+ return 0;
+}
+
+EXPORT_SYMBOL(class_find_param);
+EXPORT_SYMBOL(class_match_param);
+EXPORT_SYMBOL(class_parse_nid);
/********************** class fns **********************/
static int (*client_fill_super)(struct super_block *sb) = NULL;
-/*********** string parsing utils *********/
-
-/* returns 0 if we find this key in the buffer, else 1 */
-int class_find_param(char *buf, char *key, char **valp)
-{
- char *ptr;
-
- if (!buf)
- return 1;
-
- if ((ptr = strstr(buf, key)) == NULL)
- return 1;
-
- if (valp)
- *valp = ptr + strlen(key);
-
- return 0;
-}
-
-/* returns 0 if this is the first key in the buffer, else 1 */
-int class_match_param(char *buf, char *key, char **valp)
-{
- if (!buf)
- return 1;
-
- if (memcmp(buf, key, strlen(key)) != 0)
- return 1;
-
- if (valp)
- *valp = buf + strlen(key);
-
- return 0;
-}
-
-/* 0 is good nid,
- 1 not found
- < 0 error
- endh is set to next separator */
-int class_parse_nid(char *buf, lnet_nid_t *nid, char **endh)
-{
- char tmp, *endp;
-
- if (!buf)
- return 1;
- while (*buf == ',' || *buf == ':')
- buf++;
- if (*buf == ' ' || *buf == '/' || *buf == '\0')
- return 1;
-
- /* nid separators or end of nids */
- endp = strpbrk(buf, ",: /");
- if (endp == NULL)
- endp = buf + strlen(buf);
-
- tmp = *endp;
- *endp = '\0';
- *nid = libcfs_str2nid(buf);
- if (*nid == LNET_NID_ANY) {
- LCONSOLE_ERROR("Can't parse NID '%s'\n", buf);
- *endp = tmp;
- return -EINVAL;
- }
- *endp = tmp;
-
- if (endh)
- *endh = endp;
- CDEBUG(D_MOUNT, "Nid %s\n", libcfs_nid2str(*nid));
- return 0;
-}
-
/*********** mount lookup *********/
DECLARE_MUTEX(lustre_mount_info_lock);
EXPORT_SYMBOL(server_register_target);
EXPORT_SYMBOL(server_name2index);
EXPORT_SYMBOL(server_mti_print);
-EXPORT_SYMBOL(class_find_param);
-EXPORT_SYMBOL(class_match_param);
-EXPORT_SYMBOL(class_parse_nid);
EXPORT_SYMBOL(do_lcfg);
[ "x$mdsfailover_HOST" != "x" ] &&
MOUNTOPT=$MOUNTOPT" --failnode=`h2$NETTYPE $mdsfailover_HOST`"
[ "x$STRIPE_BYTES" != "x" ] &&
- MOUNTOPT=$MOUNTOPT" --param default_stripe_size=$STRIPE_BYTES"
+ MOUNTOPT=$MOUNTOPT" --param lov.stripe.size=$STRIPE_BYTES"
[ "x$STRIPES_PER_OBJ" != "x" ] &&
- MOUNTOPT=$MOUNTOPT" --param default_stripe_count=$STRIPES_PER_OBJ"
-MDS_MKFS_OPTS="--mgs --mdt --device-size=$MDSSIZE --param obd_timeout=$TIMEOUT $MKFSOPT $MOUNTOPT $MDSOPT"
+ MOUNTOPT=$MOUNTOPT" --param lov.stripe.count=$STRIPES_PER_OBJ"
+MDS_MKFS_OPTS="--mgs --mdt --device-size=$MDSSIZE --param sys.timeout=$TIMEOUT $MKFSOPT $MOUNTOPT $MDSOPT"
MKFSOPT=""
MOUNTOPT=""
MKFSOPT="--mkfsoptions=\"$MKFSOPT\""
[ "x$ostfailover_HOST" != "x" ] &&
MOUNTOPT=$MOUNTOPT" --failnode=`h2$NETTYPE $ostfailover_HOST`"
-OST_MKFS_OPTS="--ost --device-size=$OSTSIZE --mgsnode=$MGSNID --param obd_timeout=$TIMEOUT $MKFSOPT $MOUNTOPT $OSTOPT"
+OST_MKFS_OPTS="--ost --device-size=$OSTSIZE --mgsnode=$MGSNID --param sys.timeout=$TIMEOUT $MKFSOPT $MOUNTOPT $OSTOPT"
MDS_MOUNT_OPTS="-o loop"
OST_MOUNT_OPTS="-o loop"
[ "x$mdsfailover_HOST" != "x" ] &&
MOUNTOPT=$MOUNTOPT" --failnode=`h2$NETTYPE $mdsfailover_HOST`"
[ "x$STRIPE_BYTES" != "x" ] &&
- MOUNTOPT=$MOUNTOPT" --param default_stripe_size=$STRIPE_BYTES"
+ MOUNTOPT=$MOUNTOPT" --param lov.stripe.size=$STRIPE_BYTES"
[ "x$STRIPES_PER_OBJ" != "x" ] &&
- MOUNTOPT=$MOUNTOPT" --param default_stripe_count=$STRIPES_PER_OBJ"
-MDS_MKFS_OPTS="--mgs --mdt --device-size=$MDSSIZE --param obd_timeout=$TIMEOUT $MKFSOPT $MOUNTOPT $MDSOPT"
+ MOUNTOPT=$MOUNTOPT" --param lov.stripe.count=$STRIPES_PER_OBJ"
+MDS_MKFS_OPTS="--mgs --mdt --device-size=$MDSSIZE --param sys.timeout=$TIMEOUT $MKFSOPT $MOUNTOPT $MDSOPT"
MKFSOPT=""
MOUNTOPT=""
MKFSOPT="--mkfsoptions=\"$MKFSOPT\""
[ "x$ostfailover_HOST" != "x" ] &&
MOUNTOPT=$MOUNTOPT" --failnode=`h2$NETTYPE $ostfailover_HOST`"
-OST_MKFS_OPTS="--ost --device-size=$OSTSIZE --mgsnode=$MGSNID --param obd_timeout=$TIMEOUT $MKFSOPT $MOUNTOPT $OSTOPT"
+OST_MKFS_OPTS="--ost --device-size=$OSTSIZE --mgsnode=$MGSNID --param sys.timeout=$TIMEOUT $MKFSOPT $MOUNTOPT $OSTOPT"
MDS_MOUNT_OPTS="-o loop"
OST_MOUNT_OPTS="-o loop"
[ "x$mdsfailover_HOST" != "x" ] &&
MOUNTOPT=$MOUNTOPT" --failnode=`h2$NETTYPE $mdsfailover_HOST`"
[ "x$STRIPE_BYTES" != "x" ] &&
- MOUNTOPT=$MOUNTOPT" --param default_stripe_size=$STRIPE_BYTES"
+ MOUNTOPT=$MOUNTOPT" --param lov.stripe.size=$STRIPE_BYTES"
[ "x$STRIPES_PER_OBJ" != "x" ] &&
- MOUNTOPT=$MOUNTOPT" --param default_stripe_count=$STRIPES_PER_OBJ"
-MDS_MKFS_OPTS="--mgs --mdt --device-size=$MDSSIZE --param obd_timeout=$TIMEOUT $MKFSOPT $MOUNTOPT $MDSOPT"
+ MOUNTOPT=$MOUNTOPT" --param lov.stripe.count=$STRIPES_PER_OBJ"
+MDS_MKFS_OPTS="--mgs --mdt --device-size=$MDSSIZE --param sys.timeout=$TIMEOUT $MKFSOPT $MOUNTOPT $MDSOPT"
MKFSOPT=""
MOUNTOPT=""
MKFSOPT="--mkfsoptions=\"$MKFSOPT\""
[ "x$ostfailover_HOST" != "x" ] &&
MOUNTOPT=$MOUNTOPT" --failnode=`h2$NETTYPE $ostfailover_HOST`"
-OST_MKFS_OPTS="--ost --device-size=$OSTSIZE --mgsnode=$MGSNID --param obd_timeout=$TIMEOUT $MKFSOPT $MOUNTOPT $OSTOPT"
+OST_MKFS_OPTS="--ost --device-size=$OSTSIZE --mgsnode=$MGSNID --param sys.timeout=$TIMEOUT $MKFSOPT $MOUNTOPT $OSTOPT"
MDS_MOUNT_OPTS="-o loop"
OST_MOUNT_OPTS="-o loop"