Unify the time handling

Some options are in seconds, if no units are given. These include
runtime/timeout, startdelay, and ramp_time. Handle this
appropriately. Internally it should all be microseconds now, it's
just the conversion factor.

Signed-off-by: Jens Axboe <axboe@fb.com>
diff --git a/parse.c b/parse.c
index 5c23d91..079f19e 100644
--- a/parse.c
+++ b/parse.c
@@ -122,7 +122,8 @@
 	show_option_values(o);
 }
 
-static unsigned long long get_mult_time(const char *str, int len)
+static unsigned long long get_mult_time(const char *str, int len,
+					int is_seconds)
 {
 	const char *p = str;
 	char *c;
@@ -137,8 +138,12 @@
 		p++;
 	}
 
-	if (!isalpha((int) *p))
-		return mult;
+	if (!isalpha((int) *p)) {
+		if (is_seconds)
+			return 1000000UL;
+		else
+			return 1;
+	}
 
 	c = strdup(p);
 	for (int i = 0; i < strlen(c); i++)
@@ -270,7 +275,8 @@
 /*
  * convert string into decimal value, noting any size suffix
  */
-int str_to_decimal(const char *str, long long *val, int kilo, void *data)
+int str_to_decimal(const char *str, long long *val, int kilo, void *data,
+		   int is_seconds)
 {
 	int len, base;
 
@@ -297,19 +303,19 @@
 		else
 			*val *= mult;
 	} else
-		*val *= get_mult_time(str, len);
+		*val *= get_mult_time(str, len, is_seconds);
 
 	return 0;
 }
 
 int check_str_bytes(const char *p, long long *val, void *data)
 {
-	return str_to_decimal(p, val, 1, data);
+	return str_to_decimal(p, val, 1, data, 0);
 }
 
-int check_str_time(const char *p, long long *val)
+int check_str_time(const char *p, long long *val, int is_seconds)
 {
-	return str_to_decimal(p, val, 0, NULL);
+	return str_to_decimal(p, val, 0, NULL, is_seconds);
 }
 
 void strip_blank_front(char **p)
@@ -351,7 +357,7 @@
 {
 	long long __val;
 
-	if (!str_to_decimal(str, &__val, 1, data)) {
+	if (!str_to_decimal(str, &__val, 1, data, 0)) {
 		*val = __val;
 		return 0;
 	}
@@ -461,7 +467,7 @@
 			*p = '\0';
 
 		if (is_time)
-			ret = check_str_time(tmp, &ull);
+			ret = check_str_time(tmp, &ull, o->is_seconds);
 		else
 			ret = check_str_bytes(tmp, &ull, data);