Recent changes

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

 



The following changes since commit 660a2bfb0858f94633f9e567b81968981541f079:

  server: document fio_server_parse_string() (2011-10-24 09:35:06 +0200)

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

Jens Axboe (2):
      server: cleanup fio_server_parse_string()
      Make verify_dump off by default

Steven Lang (1):
      Add core for verify_dump option

 HOWTO     |    2 +-
 fio.1     |    2 +-
 options.c |    2 +-
 server.c  |  138 +++++++++++++++++++++++++++++++------------------------------
 verify.c  |    3 +
 5 files changed, 76 insertions(+), 71 deletions(-)

---

Diff of recent changes:

diff --git a/HOWTO b/HOWTO
index ef8f959..41edcf1 100644
--- a/HOWTO
+++ b/HOWTO
@@ -981,7 +981,7 @@ verify_fatal=bool	Normally fio will keep checking the entire contents
 verify_dump=bool	If set, dump the contents of both the original data
 		block and the data block we read off disk to files. This
 		allows later analysis to inspect just what kind of data
-		corruption occurred. On by default.
+		corruption occurred. Off by default.
 
 verify_async=int	Fio will normally verify IO inline from the submitting
 		thread. This option takes an integer describing how many
diff --git a/fio.1 b/fio.1
index 3b11122..aae7657 100644
--- a/fio.1
+++ b/fio.1
@@ -780,7 +780,7 @@ false.
 .BI verify_dump \fR=\fPbool
 If set, dump the contents of both the original data block and the data block we
 read off disk to files. This allows later analysis to inspect just what kind of
-data corruption occurred. On by default.
+data corruption occurred. Off by default.
 .TP
 .BI verify_async \fR=\fPint
 Fio will normally verify IO inline from the submitting thread. This option
diff --git a/options.c b/options.c
index 4207537..bb46dc9 100644
--- a/options.c
+++ b/options.c
@@ -1581,7 +1581,7 @@ static struct fio_option options[FIO_MAX_OPTS] = {
 		.name	= "verify_dump",
 		.type	= FIO_OPT_BOOL,
 		.off1	= td_var_offset(verify_dump),
-		.def	= "1",
+		.def	= "0",
 		.help	= "Dump contents of good and bad blocks on failure",
 		.parent = "verify",
 	},
diff --git a/server.c b/server.c
index 81ec6b0..e7107d4 100644
--- a/server.c
+++ b/server.c
@@ -959,6 +959,10 @@ int fio_server_parse_string(const char *str, char **ptr, int *is_sock,
 			    int *port, struct in_addr *inp,
 			    struct in6_addr *inp6, int *ipv6)
 {
+	const char *host = str;
+	char *portp;
+	int ret, lport = 0;
+
 	*ptr = NULL;
 	*is_sock = 0;
 	*port = fio_net_port;
@@ -967,93 +971,91 @@ int fio_server_parse_string(const char *str, char **ptr, int *is_sock,
 	if (!strncmp(str, "sock:", 5)) {
 		*ptr = strdup(str + 5);
 		*is_sock = 1;
-	} else {
-		const char *host = str;
-		char *portp;
-		int ret, lport = 0;
-
-		/*
-		 * Is it ip:<ip or host>:port
-		 */
-		if (!strncmp(host, "ip:", 3))
-			host += 3;
-		else if (!strncmp(host, "ip4:", 4))
-			host += 4;
-		else if (!strncmp(host, "ip6:", 4)) {
-			host += 4;
-			*ipv6 = 1;
-		} else if (host[0] == ':') {
-			/* String is :port */
-			host++;
-			lport = atoi(host);
+
+		return 0;
+	}
+
+	/*
+	 * Is it ip:<ip or host>:port
+	 */
+	if (!strncmp(host, "ip:", 3))
+		host += 3;
+	else if (!strncmp(host, "ip4:", 4))
+		host += 4;
+	else if (!strncmp(host, "ip6:", 4)) {
+		host += 4;
+		*ipv6 = 1;
+	} else if (host[0] == ':') {
+		/* String is :port */
+		host++;
+		lport = atoi(host);
+		if (!lport || lport > 65535) {
+			log_err("fio: bad server port %u\n", port);
+			return 1;
+		}
+		/* no hostname given, we are done */
+		*port = lport;
+		return 0;
+	}
+
+	/*
+	 * If no port seen yet, check if there's a last ':' at the end
+	 */
+	if (!lport) {
+		portp = strchr(host, ',');
+		if (portp) {
+			*portp = '\0';
+			portp++;
+			lport = atoi(portp);
 			if (!lport || lport > 65535) {
 				log_err("fio: bad server port %u\n", port);
 				return 1;
 			}
-			/* no hostname given, we are done */
-			*port = lport;
-			return 0;
 		}
+	}
 
-		/*
-		 * If no port seen yet, check if there's a last ':' at the end
-		 */
-		if (!lport) {
-			portp = strchr(host, ',');
-			if (portp) {
-				*portp = '\0';
-				portp++;
-				lport = atoi(portp);
-				if (!lport || lport > 65535) {
-					log_err("fio: bad server port %u\n", port);
-					return 1;
-				}
-			}
-		}
+	if (lport)
+		*port = lport;
 
-		if (lport)
-			*port = lport;
+	if (!strlen(host))
+		return 0;
 
-		if (!strlen(host))
-			goto done;
+	*ptr = strdup(host);
 
-		*ptr = strdup(host);
+	if (*ipv6)
+		ret = inet_pton(AF_INET6, host, inp6);
+	else
+		ret = inet_pton(AF_INET, host, inp);
 
-		if (*ipv6)
-			ret = inet_pton(AF_INET6, host, inp6);
-		else
-			ret = inet_pton(AF_INET, host, inp);
+	if (ret != 1) {
+		struct hostent *hent;
 
-		if (ret != 1) {
-			struct hostent *hent;
+		hent = gethostbyname(host);
+		if (!hent) {
+			log_err("fio: failed to resolve <%s>\n", host);
+			free(*ptr);
+			*ptr = NULL;
+			return 1;
+		}
 
-			hent = gethostbyname(host);
-			if (!hent) {
-				log_err("fio: failed to resolve <%s>\n", host);
-err:
+		if (*ipv6) {
+			if (hent->h_addrtype != AF_INET6) {
+				log_info("fio: falling back to IPv4\n");
+				*ipv6 = 0;
+			} else
+				memcpy(inp6, hent->h_addr_list[0], 16);
+		}
+		if (!*ipv6) {
+			if (hent->h_addrtype != AF_INET) {
+				log_err("fio: lookup type mismatch\n");
 				free(*ptr);
 				*ptr = NULL;
 				return 1;
 			}
-
-			if (*ipv6) {
-				if (hent->h_addrtype != AF_INET6) {
-					log_info("fio: falling back to IPv4\n");
-					*ipv6 = 0;
-				} else
-					memcpy(inp6, hent->h_addr_list[0], 16);
-			}
-			if (!*ipv6) {
-				if (hent->h_addrtype != AF_INET) {
-					log_err("fio: lookup type mismatch\n");
-					goto err;
-				}
-				memcpy(inp, hent->h_addr_list[0], 4);
-			}
+			memcpy(inp, hent->h_addr_list[0], 4);
 		}
 	}
 
-done:
 	if (*port == 0)
 		*port = fio_net_port;
 
diff --git a/verify.c b/verify.c
index c450e88..43dd392 100644
--- a/verify.c
+++ b/verify.c
@@ -269,6 +269,9 @@ static void dump_verify_buffers(struct verify_header *hdr, struct vcont *vc)
 	struct io_u dummy;
 	void *buf;
 
+	if (!td->o.verify_dump)
+		return;
+
 	/*
 	 * Dump the contents we just read off disk
 	 */
--
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