client: return errno on connection failure

Signed-off-by: Jens Axboe <axboe@kernel.dk>
diff --git a/client.c b/client.c
index 225f664..98c8b28 100644
--- a/client.c
+++ b/client.c
@@ -276,7 +276,7 @@
 	fd = socket(domain, SOCK_STREAM, 0);
 	if (fd < 0) {
 		log_err("fio: socket: %s\n", strerror(errno));
-		return -1;
+		return -errno;
 	}
 
 	if (connect(fd, addr, socklen) < 0) {
@@ -284,7 +284,7 @@
 		log_err("fio: failed to connect to %s:%u\n", client->hostname,
 								client->port);
 		close(fd);
-		return -1;
+		return -errno;
 	}
 
 	return fd;
@@ -303,14 +303,14 @@
 	fd = socket(AF_UNIX, SOCK_STREAM, 0);
 	if (fd < 0) {
 		log_err("fio: socket: %s\n", strerror(errno));
-		return -1;
+		return -errno;
 	}
 
 	len = sizeof(addr->sun_family) + strlen(addr->sun_path) + 1;
 	if (connect(fd, (struct sockaddr *) addr, len) < 0) {
 		log_err("fio: connect; %s\n", strerror(errno));
 		close(fd);
-		return -1;
+		return -errno;
 	}
 
 	return fd;
@@ -330,7 +330,7 @@
 	dprint(FD_NET, "client: %s connected %d\n", client->hostname, fd);
 
 	if (fd < 0)
-		return 1;
+		return fd;
 
 	client->fd = fd;
 	fio_client_add_hash(client);