Recent changes

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



The following changes since commit ea4500d8d709ed4aa9587f35b2edc55b5b2c7695:

  Windows fixes (2011-05-04 07:54:13 -0600)

are available in the git repository at:
  git://git.kernel.dk/fio.git master

Bruce Cran (2):
      windowsaio: skip uncompleted requests
      sscanf fixup

Jens Axboe (3):
      Exit with error on signal
      Revert "parser: get rid of useless is_time variable"
      Fio 1.53

 engines/windowsaio.c   |    4 ++++
 fio.c                  |    1 +
 init.c                 |    6 +++---
 os/windows/install.wxs |    2 +-
 os/windows/version.h   |    4 ++--
 parse.c                |   18 ++++++++++--------
 6 files changed, 21 insertions(+), 14 deletions(-)

---

Diff of recent changes:

diff --git a/engines/windowsaio.c b/engines/windowsaio.c
index 2d3ed83..e389b67 100644
--- a/engines/windowsaio.c
+++ b/engines/windowsaio.c
@@ -277,6 +277,10 @@ static DWORD WINAPI IoCompletionRoutine(LPVOID lpParameter)
 		fov = CONTAINING_RECORD(ovl, FIO_OVERLAPPED, o);
 		io_u = fov->io_u;
 
+        /* We sometimes get an IO request that hasn't completed yet. Ignore it. */
+        if (ovl->Internal == STATUS_PENDING)
+            continue;
+
 		if (ovl->Internal == ERROR_SUCCESS) {
 			io_u->resid = io_u->xfer_buflen - ovl->InternalHigh;
 			io_u->error = 0;
diff --git a/fio.c b/fio.c
index a737a31..284e9f2 100644
--- a/fio.c
+++ b/fio.c
@@ -126,6 +126,7 @@ static void sig_int(int sig)
 	if (threads) {
 		log_info("\nfio: terminating on signal %d\n", sig);
 		fflush(stdout);
+		exit_value = 128;
 		terminate_threads(TERMINATE_ALL);
 	}
 }
diff --git a/init.c b/init.c
index aa31138..6382666 100644
--- a/init.c
+++ b/init.c
@@ -22,7 +22,7 @@
 
 #include "lib/getopt.h"
 
-static char fio_version_string[] = "fio 1.52";
+static char fio_version_string[] = "fio 1.53";
 
 #define FIO_RANDSEED		(0xb1899bedUL)
 
@@ -191,7 +191,7 @@ static void put_job(struct thread_data *td)
 {
 	if (td == &def_thread)
 		return;
-	
+
 	profile_td_exit(td);
 
 	if (td->error)
@@ -835,7 +835,7 @@ static int parse_jobs_ini(char *file, int stonewall_flag)
 
 		if (is_empty_or_comment(p))
 			continue;
-		if (sscanf(p, "[%255s]", name) != 1) {
+		if (sscanf(p, "[%255[^\n]]", name) != 1) {
 			if (inside_skip)
 				continue;
 			log_err("fio: option <%s> outside of [] job section\n",
diff --git a/os/windows/install.wxs b/os/windows/install.wxs
index ebad81a..c20580f 100755
--- a/os/windows/install.wxs
+++ b/os/windows/install.wxs
@@ -2,7 +2,7 @@
 <Wix xmlns="http://schemas.microsoft.com/wix/2006/wi";>
 
 <?define VersionMajor = 1?>
-<?define VersionMinor = 52?>
+<?define VersionMinor = 53?>
 <?define VersionBuild = 0?>
 
 	<Product Id="*"
diff --git a/os/windows/version.h b/os/windows/version.h
index 0bdf3d5..04e933d 100644
--- a/os/windows/version.h
+++ b/os/windows/version.h
@@ -1,4 +1,4 @@
 #define FIO_VERSION_MAJOR 1
-#define FIO_VERSION_MINOR 52
+#define FIO_VERSION_MINOR 53
 #define FIO_VERSION_BUILD 0
-#define FIO_VERSION_STRING "1.52"
+#define FIO_VERSION_STRING "1.53"
diff --git a/parse.c b/parse.c
index 585fb7e..1e6a522 100644
--- a/parse.c
+++ b/parse.c
@@ -310,7 +310,7 @@ static int __handle_option(struct fio_option *o, const char *ptr, void *data,
 	long long ull, *ullp;
 	long ul1, ul2;
 	char **cp;
-	int ret = 0;
+	int ret = 0, is_time = 0;
 
 	dprint(FD_PARSE, "__handle_option=%s, type=%d, ptr=%s\n", o->name,
 							o->type, ptr);
@@ -358,14 +358,17 @@ static int __handle_option(struct fio_option *o, const char *ptr, void *data,
 			ret = fn(data, ptr);
 		break;
 	}
-	case FIO_OPT_STR_VAL_TIME: {
-		fio_opt_str_val_fn *fn;
-
-		ret = check_str_time(ptr, &ull);
+	case FIO_OPT_STR_VAL_TIME:
+		is_time = 1;
 	case FIO_OPT_INT:
-	case FIO_OPT_STR_VAL:
+	case FIO_OPT_STR_VAL: {
+		fio_opt_str_val_fn *fn = o->cb;
+
+		if (is_time)
+			ret = check_str_time(ptr, &ull);
+		else
+			ret = check_str_bytes(ptr, &ull, data);
 
-		ret = check_str_bytes(ptr, &ull, data);
 		if (ret)
 			break;
 
@@ -380,7 +383,6 @@ static int __handle_option(struct fio_option *o, const char *ptr, void *data,
 			return 1;
 		}
 
-		fn = o->cb;
 		if (fn)
 			ret = fn(data, &ull);
 		else {
--
To unsubscribe from this list: send the line "unsubscribe fio" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Kernel]     [Linux SCSI]     [Linux IDE]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux SCSI]

  Powered by Linux