client/server: don't reset ipv6 expectations
fio_server_parse_host() no longer falls back to ipv4, so just
pass in the actual value, not a reference.
Signed-off-by: Jens Axboe <axboe@kernel.dk>
diff --git a/client.c b/client.c
index 7975ce6..467d093 100644
--- a/client.c
+++ b/client.c
@@ -238,7 +238,7 @@
int ipv6;
ipv6 = type == Fio_client_ipv6;
- if (fio_server_parse_host(hostname, &ipv6,
+ if (fio_server_parse_host(hostname, ipv6,
&client->addr.sin_addr,
&client->addr6.sin6_addr))
goto err;
diff --git a/server.c b/server.c
index 9bfae79..b6961fd 100644
--- a/server.c
+++ b/server.c
@@ -1392,13 +1392,13 @@
return sk;
}
-int fio_server_parse_host(const char *host, int *ipv6, struct in_addr *inp,
+int fio_server_parse_host(const char *host, int ipv6, struct in_addr *inp,
struct in6_addr *inp6)
{
int ret = 0;
- if (*ipv6)
+ if (ipv6)
ret = inet_pton(AF_INET6, host, inp6);
else
ret = inet_pton(AF_INET, host, inp);
@@ -1407,7 +1407,7 @@
struct addrinfo hints, *res;
memset(&hints, 0, sizeof(hints));
- hints.ai_family = *ipv6 ? AF_INET6 : AF_INET;
+ hints.ai_family = ipv6 ? AF_INET6 : AF_INET;
hints.ai_socktype = SOCK_STREAM;
ret = getaddrinfo(host, NULL, &hints, &res);
@@ -1417,7 +1417,7 @@
return 1;
}
- if (*ipv6)
+ if (ipv6)
memcpy(inp6, &((struct sockaddr_in6 *) res->ai_addr)->sin6_addr, sizeof(*inp6));
else
memcpy(inp, &((struct sockaddr_in *) res->ai_addr)->sin_addr, sizeof(*inp));
@@ -1508,7 +1508,7 @@
*ptr = strdup(host);
- if (fio_server_parse_host(*ptr, ipv6, inp, inp6)) {
+ if (fio_server_parse_host(*ptr, *ipv6, inp, inp6)) {
free(*ptr);
*ptr = NULL;
return 1;
diff --git a/server.h b/server.h
index 57e15d7..adb190a 100644
--- a/server.h
+++ b/server.h
@@ -156,7 +156,7 @@
extern int fio_net_send_simple_cmd(int, uint16_t, uint64_t, struct flist_head *);
extern void fio_server_set_arg(const char *);
extern int fio_server_parse_string(const char *, char **, int *, int *, struct in_addr *, struct in6_addr *, int *);
-extern int fio_server_parse_host(const char *, int *, struct in_addr *, struct in6_addr *);
+extern int fio_server_parse_host(const char *, int, struct in_addr *, struct in6_addr *);
extern const char *fio_server_op(unsigned int);
extern void fio_server_got_signal(int);