client: handle connection failure
authorJens Axboe <axboe@kernel.dk>
Tue, 4 Oct 2011 06:31:40 +0000 (08:31 +0200)
committerJens Axboe <axboe@kernel.dk>
Tue, 4 Oct 2011 06:31:40 +0000 (08:31 +0200)
Signed-off-by: Jens Axboe <axboe@kernel.dk>
client.c
init.c

index 4d44b1030961f4ded9d13a018d4f512b2d939edc..89c2b442ec9754b6f19c769ba6d3e8d716332bbc 100644 (file)
--- a/client.c
+++ b/client.c
@@ -111,6 +111,7 @@ static int fio_client_connect(struct fio_client *client)
 
        if (connect(fd, (struct sockaddr *) &client->addr, sizeof(client->addr)) < 0) {
                log_err("fio: connect: %s\n", strerror(errno));
 
        if (connect(fd, (struct sockaddr *) &client->addr, sizeof(client->addr)) < 0) {
                log_err("fio: connect: %s\n", strerror(errno));
+               log_err("fio: failed to connect to %s\n", client->hostname);
                return 1;
        }
 
                return 1;
        }
 
diff --git a/init.c b/init.c
index dbad24d468c4e9a1809f6dbcce281943cf2b3c00..d9c78ec5e69b2953701c799ac292f3295df25c73 100644 (file)
--- a/init.c
+++ b/init.c
@@ -1359,7 +1359,7 @@ static int parse_cmd_line(int argc, char *argv[])
        if (nr_clients && fio_clients_connect()) {
                do_exit++;
                exit_val = 1;
        if (nr_clients && fio_clients_connect()) {
                do_exit++;
                exit_val = 1;
-               return 1;
+               return -1;
        }
 
        if (is_backend)
        }
 
        if (is_backend)
@@ -1397,17 +1397,19 @@ int parse_options(int argc, char *argv[])
 
        job_files = parse_cmd_line(argc, argv);
 
 
        job_files = parse_cmd_line(argc, argv);
 
-       for (i = 0; i < job_files; i++) {
-               if (fill_def_thread())
-                       return 1;
-               if (nr_clients) {
-                       if (fio_clients_send_ini(ini_file[i]))
-                               return 1;
-                       free(ini_file[i]);
-               } else if (!is_backend) {
-                       if (parse_jobs_ini(ini_file[i], 0, i))
+       if (job_files > 0) {
+               for (i = 0; i < job_files; i++) {
+                       if (fill_def_thread())
                                return 1;
                                return 1;
-                       free(ini_file[i]);
+                       if (nr_clients) {
+                               if (fio_clients_send_ini(ini_file[i]))
+                                       return 1;
+                               free(ini_file[i]);
+                       } else if (!is_backend) {
+                               if (parse_jobs_ini(ini_file[i], 0, i))
+                                       return 1;
+                               free(ini_file[i]);
+                       }
                }
        }
 
                }
        }
 
@@ -1422,8 +1424,10 @@ int parse_options(int argc, char *argv[])
                if (is_backend || nr_clients)
                        return 0;
 
                if (is_backend || nr_clients)
                        return 0;
 
-               log_err("No jobs(s) defined\n\n");
-               usage(argv[0]);
+               if (job_files > 0) {
+                       log_err("No jobs(s) defined\n\n");
+                       usage(argv[0]);
+               }
                return 1;
        }
 
                return 1;
        }