Whamcloud - gitweb
* lctl set_route <nid> <up/down> enables or disables particular portals
[fs/lustre-release.git] / lustre / utils / obd.c
index a89e15d..754de0d 100644 (file)
@@ -152,25 +152,6 @@ static int do_name2dev(char *func, char *name)
         return data.ioc_dev + N2D_OFF;
 }
 
-static int do_uuid2dev(char *func, char *uuid)
-{
-        struct obd_ioctl_data data;
-        int rc;
-
-        IOC_INIT(data);
-
-        data.ioc_inllen1 = strlen(uuid) + 1;
-        data.ioc_inlbuf1 = uuid;
-
-        IOC_PACK(func, data);
-        rc = l_ioctl(OBD_DEV_ID, OBD_IOC_UUID2DEV, buf);
-        if (rc < 0)
-                return errno;
-        IOC_UNPACK(func, data);
-
-        return data.ioc_dev + N2D_OFF;
-}
-
 /*
  * resolve a device name to a device number.
  * supports a number, $name or %uuid.
@@ -182,7 +163,7 @@ static int parse_devname(char *func, char *name)
 
         if (!name)
                 return ret;
-        if (name[0] == '$') {
+        if (name[0] == '$' || name[0] == '%') {
                 name++;
                 rc = do_name2dev(func, name);
                 if (rc >= N2D_OFF) {
@@ -192,16 +173,6 @@ static int parse_devname(char *func, char *name)
                         printf("No device found for name %s: %s\n",
                                name, strerror(rc));
                 }
-        } else if (name[0] == '%') {
-                name++;
-                rc = do_uuid2dev(func, name);
-                if (rc >= N2D_OFF) {
-                        ret = rc - N2D_OFF;
-                        printf("UUID %s is device %d\n", name, ret);
-                } else {
-                        printf("No device found for UUID %s: %s\n",
-                               name, strerror(rc));
-                }
         } else {
                 /* Assume it's a number.  This means that bogus strings become
                  * 0.  I might care about that some day. */
@@ -706,6 +677,25 @@ int jt_opt_threads(int argc, char **argv)
         return rc;
 }
 
+int jt_opt_net(int argc, char **argv)
+{
+        char *arg2[3];
+        int rc;
+
+        if (argc < 3)
+                return CMD_HELP;
+
+        arg2[0] = argv[0];
+        arg2[1] = argv[1];
+        arg2[2] = NULL;
+        rc = jt_ptl_network (2, arg2);
+
+        if (!rc)
+                rc = Parser_execarg(argc - 2, argv + 2, cmdlist);
+
+        return rc;
+}
+
 int jt_obd_detach(int argc, char **argv)
 {
         struct obd_ioctl_data data;
@@ -968,7 +958,7 @@ int jt_obd_setup(int argc, char **argv)
 
         IOC_INIT(data);
 
-        if (argc > 4)
+        if (argc > 5)
                 return CMD_HELP;
 
         data.ioc_dev = -1;
@@ -987,6 +977,10 @@ int jt_obd_setup(int argc, char **argv)
                 data.ioc_inllen3 = strlen(argv[3]) + 1;
                 data.ioc_inlbuf3 = argv[3];
         }
+        if (argc > 4) {
+                data.ioc_inllen4 = strlen(argv[4]) + 1;
+                data.ioc_inlbuf4 = argv[4];
+        }
 
         IOC_PACK(argv[0], data);
         rc = l_ioctl(OBD_DEV_ID, OBD_IOC_SETUP, buf);
@@ -1985,7 +1979,7 @@ int jt_obd_add_uuid(int argc, char **argv)
 
         nal = ptl_name2nal(argv[3]);
 
-        if (nal == 0) {
+        if (nal <= 0) {
                 fprintf (stderr, "Can't parse NAL %s\n", argv[3]);
                 return -1;
         }
@@ -2005,7 +1999,7 @@ int jt_obd_close_uuid(int argc, char **argv)
 
         nal = ptl_name2nal(argv[2]);
 
-        if (nal == 0) {
+        if (nal <= 0) {
                 fprintf (stderr, "Can't parse NAL %s\n", argv[2]);
                 return -1;
         }