Recent changes (master)

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

 



The following changes since commit 45054cbec0e624de3b79a795d7dfe1c64cdea934:

  solaris: fix compile error on ctime_r() (2012-10-09 14:46:24 -0600)

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

Bruce Cran (5):
      Add pending IO to the tail of the busy list
      Fix UDP acronym
      fio patch: Windows netio fixes
      Windows: avoid large writes during file layout.
      Windows: handle SIGBREAK.

Jens Axboe (2):
      HOWTO: indentation fix
      Fio 2.0.10

 FIO-VERSION-GEN        |    2 +-
 HOWTO                  |   15 ++++++++-------
 backend.c              |    8 ++++++++
 client.c               |    8 ++++++++
 engines/net.c          |    9 +++++++--
 fio.1                  |    2 +-
 io_u.c                 |    2 +-
 os/windows/install.wxs |    2 +-
 os/windows/posix.c     |   17 +++++++++++++----
 9 files changed, 48 insertions(+), 17 deletions(-)

---

Diff of recent changes:

diff --git a/FIO-VERSION-GEN b/FIO-VERSION-GEN
index 08729ba..cc7eb83 100755
--- a/FIO-VERSION-GEN
+++ b/FIO-VERSION-GEN
@@ -1,7 +1,7 @@
 #!/bin/sh
 
 GVF=FIO-VERSION-FILE
-DEF_VER=fio-2.0.9
+DEF_VER=fio-2.0.10
 
 LF='
 '
diff --git a/HOWTO b/HOWTO
index cdff07a..ee9680a 100644
--- a/HOWTO
+++ b/HOWTO
@@ -1062,12 +1062,13 @@ numjobs=int	Create the specified number of clones of this job. May be
 		conjunction with new_group.
 
 group_reporting	It may sometimes be interesting to display statistics for
-		groups of jobs as a whole instead of for each individual job. This is
-		especially true if 'numjobs' is used; looking at individual
-		thread/process output quickly becomes unwieldy. To see the final report
-		per-group instead of per-job, use 'group_reporting'. Jobs in a file
-		will be part of the same reporting group, unless if separated by a
-		stonewall, or by using 'new_group'.
+		groups of jobs as a whole instead of for each individual job.
+		This is especially true if 'numjobs' is used; looking at
+		individual thread/process output quickly becomes unwieldy.
+		To see the final report per-group instead of per-job, use
+		'group_reporting'. Jobs in a file will be part of the same
+		reporting group, unless if separated by a stonewall, or by
+		using 'new_group'.
 
 thread		fio defaults to forking jobs, however if this option is
 		given, fio will use pthread_create(3) to create threads
@@ -1327,7 +1328,7 @@ that defines them is selected.
 [net] proto=str	The network protocol to use. Accepted values are:
 
 			tcp	Transmission control protocol
-			udp	Unreliable datagram protocol
+			udp	User datagram protocol
 			unix	UNIX domain socket
 
 		When the protocol is TCP or UDP, the port must also be given,
diff --git a/backend.c b/backend.c
index b5501c6..4e3a3ed 100644
--- a/backend.c
+++ b/backend.c
@@ -108,6 +108,14 @@ static void set_sig_handlers(void)
 	act.sa_flags = SA_RESTART;
 	sigaction(SIGTERM, &act, NULL);
 
+/* Windows uses SIGBREAK as a quit signal from other applications */
+#ifdef WIN32
+	memset(&act, 0, sizeof(act));
+	act.sa_handler = sig_int;
+	act.sa_flags = SA_RESTART;
+	sigaction(SIGBREAK, &act, NULL);
+#endif
+
 	memset(&act, 0, sizeof(act));
 	act.sa_handler = sig_show_status;
 	act.sa_flags = SA_RESTART;
diff --git a/client.c b/client.c
index 93c7103..bf09d7e 100644
--- a/client.c
+++ b/client.c
@@ -383,6 +383,14 @@ static void client_signal_handler(void)
 	act.sa_flags = SA_RESTART;
 	sigaction(SIGTERM, &act, NULL);
 
+/* Windows uses SIGBREAK as a quit signal from other applications */
+#ifdef WIN32
+	memset(&act, 0, sizeof(act));
+	act.sa_handler = sig_int;
+	act.sa_flags = SA_RESTART;
+	sigaction(SIGBREAK, &act, NULL);
+#endif
+
 	memset(&act, 0, sizeof(act));
 	act.sa_handler = sig_show_status;
 	act.sa_flags = SA_RESTART;
diff --git a/engines/net.c b/engines/net.c
index cf6025f..c533799 100644
--- a/engines/net.c
+++ b/engines/net.c
@@ -79,7 +79,7 @@ static struct fio_option options[] = {
 			  },
 			  { .ival = "udp",
 			    .oval = FIO_TYPE_UDP,
-			    .help = "Unreliable Datagram Protocol",
+			    .help = "User Datagram Protocol",
 			  },
 			  { .ival = "unix",
 			    .oval = FIO_TYPE_UNIX,
@@ -144,7 +144,7 @@ static int fio_netio_prep(struct thread_data *td, struct io_u *io_u)
 		td_verror(td, EINVAL, "bad direction");
 		return 1;
 	}
-		
+
 	return 0;
 }
 
@@ -687,6 +687,11 @@ static int fio_netio_init(struct thread_data *td)
 	struct netio_options *o = td->eo;
 	int ret;
 
+#ifdef WIN32
+	WSADATA wsd;
+	WSAStartup(MAKEWORD(2,2), &wsd);
+#endif
+
 	if (td_random(td)) {
 		log_err("fio: network IO can't be random\n");
 		return 1;
diff --git a/fio.1 b/fio.1
index 145b547..fad0ae4 100644
--- a/fio.1
+++ b/fio.1
@@ -1073,7 +1073,7 @@ The network protocol to use. Accepted values are:
 Transmission control protocol
 .TP
 .B udp
-Unreliable datagram protocol
+User datagram protocol
 .TP
 .B unix
 UNIX domain socket
diff --git a/io_u.c b/io_u.c
index a2c583d..e047677 100644
--- a/io_u.c
+++ b/io_u.c
@@ -1096,7 +1096,7 @@ again:
 
 		io_u->error = 0;
 		flist_del(&io_u->list);
-		flist_add(&io_u->list, &td->io_u_busylist);
+		flist_add_tail(&io_u->list, &td->io_u_busylist);
 		td->cur_depth++;
 		io_u->flags |= IO_U_F_IN_CUR_DEPTH;
 	} else if (td->o.verify_async) {
diff --git a/os/windows/install.wxs b/os/windows/install.wxs
index 571492e..e02347e 100755
--- a/os/windows/install.wxs
+++ b/os/windows/install.wxs
@@ -10,7 +10,7 @@
 	<Product Id="2BA394F9-0D9E-4597-BB9D-6B18097D64BB"
 	  Codepage="1252" Language="1033"
 	  Manufacturer="fio" Name="fio"
-	  UpgradeCode="2338A332-5511-43cf-b9BD-5C60496CCFCC" Version="2.0.9">
+	  UpgradeCode="2338A332-5511-43cf-b9BD-5C60496CCFCC" Version="2.0.10">
 		<Package 
 		  Comments="Contact: Your local administrator"
 		  Description="Flexible IO Tester"
diff --git a/os/windows/posix.c b/os/windows/posix.c
index 6ad47df..11500e4 100755
--- a/os/windows/posix.c
+++ b/os/windows/posix.c
@@ -411,6 +411,9 @@ int posix_fallocate(int fd, off_t offset, off_t len)
 			break;
 		}
 
+		/* Don't allow Windows to cache the write: flush it to disk */
+		_commit(fd);
+
 		bytes_remaining -= bytes_written;
 	}
 
@@ -628,11 +631,11 @@ int poll(struct pollfd fds[], nfds_t nfds, int timeout)
 	int i;
 	int rc;
 
-	if (timeout != -1)
+	if (timeout != -1) {
 		to = &tv;
-
-	to->tv_sec = timeout / 1000;
-	to->tv_usec = (timeout % 1000) * 1000;
+		to->tv_sec = timeout / 1000;
+		to->tv_usec = (timeout % 1000) * 1000;
+	}
 
 	FD_ZERO(&readfds);
 	FD_ZERO(&writefds);
@@ -811,9 +814,15 @@ const char* inet_ntop(int af, const void *restrict src,
 		errno = ENOSPC;
 
 	WSACleanup();
+
 	return ret;
 }
 
+int inet_aton(const char *cp, struct in_addr *inp)
+{
+	return inet_pton(AF_INET, cp, inp);
+}
+
 int inet_pton(int af, const char *restrict src, void *restrict dst)
 {
 	INT status = SOCKET_ERROR;
--
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