Whamcloud - gitweb
Use the OBD_MD_FLTYPE and OBD_MD_FLMODE flags where appropriate.
[fs/lustre-release.git] / lustre / utils / obd.c
index 3f04568..7e280c1 100644 (file)
@@ -793,6 +793,8 @@ int jt_obd_create(int argc, char **argv)
                                 cmdname(argv[0]), argv[2]);
                         return CMD_HELP;
                 }
+                if (!(mode & S_IFMT))
+                        mode |= S_IFREG;
         }
 
         if (argc > 3) {
@@ -807,7 +809,9 @@ int jt_obd_create(int argc, char **argv)
 
         for (i = 1, next_count = verbose; i <= count; i++) {
                 data.ioc_obdo1.o_mode = mode;
-                data.ioc_obdo1.o_valid = OBD_MD_FLMODE;
+                data.ioc_obdo1.o_id = i;
+                data.ioc_obdo1.o_valid = OBD_MD_FLTYPE | OBD_MD_FLMODE |
+                                        OBD_MD_FLID;
 
                 rc = ioctl(fd, OBD_IOC_CREATE, &data);
                 SHMEM_BUMP();
@@ -852,7 +856,7 @@ int jt_obd_setattr(int argc, char **argv)
                         cmdname(argv[0]), argv[2]);
                 return CMD_HELP;
         }
-        data.ioc_obdo1.o_valid = OBD_MD_FLID | OBD_MD_FLMODE;
+        data.ioc_obdo1.o_valid = OBD_MD_FLID | OBD_MD_FLTYPE | OBD_MD_FLMODE;
 
         rc = ioctl(fd, OBD_IOC_SETATTR, &data);
         if (rc < 0)
@@ -948,9 +952,11 @@ int jt_obd_test_getattr(int argc, char **argv)
         }
 
         if (argc >= 4) {
-                if (argv[3][0] == 't')
-                        objid = strtoull(argv[3] + 1, &end, 0) + thread - 1;
-                else
+                if (argv[3][0] == 't') {
+                        objid = strtoull(argv[3] + 1, &end, 0);
+                        if (thread)
+                                objid += thread - 1;
+                } else
                         objid = strtoull(argv[3], &end, 0);
                 if (*end) {
                         fprintf(stderr, "error: %s: invalid objid '%s'\n",
@@ -968,6 +974,7 @@ int jt_obd_test_getattr(int argc, char **argv)
 
         for (i = 1, next_count = verbose; i <= count; i++) {
                 data.ioc_obdo1.o_id = objid;
+                data.ioc_obdo1.o_mode = S_IFREG;
                 data.ioc_obdo1.o_valid = 0xffffffff;
                 rc = ioctl(fd, OBD_IOC_GETATTR, &data);
                 SHMEM_BUMP();
@@ -1022,8 +1029,9 @@ int jt_obd_test_brw(int argc, char **argv)
 
         /* make each thread write to a different offset */
         if (argv[1][0] == 't') {
-                thr_offset = thread - 1;
                 count = strtoull(argv[1] + 1, &end, 0);
+                if (thread)
+                        thr_offset = thread - 1;
         } else
                 count = strtoull(argv[1], &end, 0);
 
@@ -1055,9 +1063,11 @@ int jt_obd_test_brw(int argc, char **argv)
                 }
         }
         if (argc >= 6) {
-                if (argv[5][0] == 't')
-                        objid = strtoull(argv[5] + 1, &end, 0) + thread - 1;
-                else
+                if (argv[5][0] == 't') {
+                        objid = strtoull(argv[5] + 1, &end, 0);
+                        if (thread)
+                                objid += thread - 1;
+                } else
                         objid = strtoull(argv[5], &end, 0);
                 if (*end) {
                         fprintf(stderr, "error: %s: bad objid '%s'\n",
@@ -1071,7 +1081,7 @@ int jt_obd_test_brw(int argc, char **argv)
         IOCINIT(data);
         data.ioc_obdo1.o_id = objid;
         data.ioc_obdo1.o_mode = S_IFREG;
-        data.ioc_obdo1.o_valid = OBD_MD_FLID | OBD_MD_FLMODE;
+        data.ioc_obdo1.o_valid = OBD_MD_FLID | OBD_MD_FLTYPE | OBD_MD_FLMODE;
         data.ioc_count = len;
         data.ioc_offset = thr_offset * len * count;
 
@@ -1099,8 +1109,7 @@ int jt_obd_test_brw(int argc, char **argv)
                                 cmdname(argv[0]), i, strerror(rc = errno),
                                 write ? "write" : "read");
                         break;
-                } else if (be_verbose
-                           (verbose, &next_time, i, &next_count, count))
+                } else if (be_verbose(verbose, &next_time,i, &next_count,count))
                         printf("%s: %s number %dx%d\n", cmdname(argv[0]),
                                write ? "write" : "read", i, pages);
 
@@ -1167,11 +1176,9 @@ int jt_obd_lov_config(int argc, char **argv)
                         desc.ld_tgt_count);
                 return -EINVAL;
         }
-        if (desc.ld_default_stripe_count == 0) {
-                fprintf(stderr, "error: %s: stripe count is zero\n",
-                        cmdname(argv[0]));
-                return -EINVAL;
-        }
+        if (desc.ld_default_stripe_count == 0)
+                desc.ld_default_stripe_count = desc.ld_tgt_count;
+
         desc.ld_default_stripe_size = strtoul(argv[3], &end, 0);
         if (*end) {
                 fprintf(stderr, "error: %s: bad default stripe size '%s'\n",