diff --git a/osd-initiator/tests/iospeed.c b/osd-initiator/tests/iospeed.c index 8594561..96c3f01 100644 --- a/osd-initiator/tests/iospeed.c +++ b/osd-initiator/tests/iospeed.c @@ -215,7 +215,9 @@ static void write_bw(int fd, uint64_t pid, uint64_t oid, static void usage(void) { - fprintf(stderr, "Usage: %s []\n", osd_get_progname()); + fprintf(stderr, "Usage: %s [-f] []\n", osd_get_progname()); + fprintf(stderr, " -f format and create partition before test\n"); + fprintf(stderr, " size i/o size in kbytes\n"); exit(1); } @@ -226,18 +228,23 @@ int main(int argc, char *argv[]) const int iter = 100; uint64_t oid; int onesize = 0; + int doformat = 0; osd_set_progname(argc, argv); - if (argc == 1) { - ; - } else if (argc == 2) { + argc--; + argv++; + for (i=0; argc && i<2; argc--, argv++, i++) { + if (strcmp(argv[0], "-f") == 0) { + doformat = 1; + continue; + } char *cp; - onesize = strtoul(argv[1], &cp, 0); - if (*cp != '\0') - usage(); + onesize = strtoul(argv[0], &cp, 0); + if (*cp != '\0') break; onesize <<= 10; - } else { + } + if (argc) { usage(); } @@ -262,8 +269,10 @@ int main(int argc, char *argv[]) inquiry(fd); - format_osd(fd, 1<<30); - create_partition(fd, PARTITION_PID_LB); + if (doformat) { + format_osd(fd, 1<<30); + create_partition(fd, PARTITION_PID_LB); + } oid = obj_create_any(fd, PARTITION_PID_LB);