Whamcloud - gitweb
b=9846
authornathan <nathan>
Mon, 19 Jun 2006 23:30:53 +0000 (23:30 +0000)
committernathan <nathan>
Mon, 19 Jun 2006 23:30:53 +0000 (23:30 +0000)
Change parameters to hierarchical format

lustre/include/lustre_param.h
lustre/lov/lov_obd.c
lustre/mgs/mgs_llog.c
lustre/obdclass/obd_config.c
lustre/obdclass/obd_mount.c
lustre/tests/cfg/insanity-local.sh
lustre/tests/cfg/local.sh
lustre/tests/cfg/lov.sh

index e32ac4e..30c3df3 100644 (file)
 #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);
 
@@ -37,14 +38,14 @@ int do_lcfg(char *cfgname, lnet_nid_t nid, int cmd,
 
 /****************** 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
index 76fccfb..329a47e 100644 (file)
@@ -821,15 +821,14 @@ static int lov_process_config(struct obd_device *obd, obd_count len, void *buf)
                                 /* 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);
index cd2d7a9..2294207 100644 (file)
@@ -1227,7 +1227,7 @@ static int mgs_write_log_params(struct obd_device *obd, struct fs_db *fsdb,
                         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);
@@ -1243,7 +1243,7 @@ static int mgs_write_log_params(struct obd_device *obd, struct fs_db *fsdb,
                         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);
index 84dee3a..0f7634f 100644 (file)
 #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 **********************/
 
index 2847057..5050eac 100644 (file)
                       
 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);
@@ -1970,9 +1900,6 @@ EXPORT_SYMBOL(server_put_mount);
 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);
 
 
index 58fc2ef..fddbf0f 100644 (file)
@@ -38,10 +38,10 @@ MOUNTOPT=""
 [ "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=""
@@ -51,7 +51,7 @@ 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"
index 902892d..02d13a9 100644 (file)
@@ -42,10 +42,10 @@ MOUNTOPT=""
 [ "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=""
@@ -55,7 +55,7 @@ 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"
index b573ae7..76a6464 100644 (file)
@@ -36,10 +36,10 @@ MOUNTOPT=""
 [ "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=""
@@ -49,7 +49,7 @@ 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"