Get rid of _set variables
[fio.git] / client.c
index 96b844cb6a825433ae55f48e18c7e6d09aa15207..3cb7c1c50a92f27706da48f5d4ce64ccb7ca6b59 100644 (file)
--- a/client.c
+++ b/client.c
@@ -89,6 +89,30 @@ static void fio_init fio_client_hash_init(void)
                INIT_FLIST_HEAD(&client_hash[i]);
 }
 
+static int read_data(int fd, void *data, size_t size)
+{
+       ssize_t ret;
+
+       while (size) {
+               ret = read(fd, data, size);
+               if (ret < 0) {
+                       if (errno == EAGAIN || errno == EINTR)
+                               continue;
+                       break;
+               } else if (!ret)
+                       break;
+               else {
+                       data += ret;
+                       size -= ret;
+               }
+       }
+
+       if (size)
+               return EAGAIN;
+
+       return 0;
+}
+
 static void fio_client_json_init(void)
 {
        if (output_format != FIO_OUTPUT_JSON)
@@ -691,21 +715,7 @@ static int __fio_client_send_local_ini(struct fio_client *client,
 
        len = sb.st_size;
        p = buf;
-       do {
-               ret = read(fd, p, len);
-               if (ret > 0) {
-                       len -= ret;
-                       if (!len)
-                               break;
-                       p += ret;
-                       continue;
-               } else if (!ret)
-                       break;
-               else if (errno == EAGAIN || errno == EINTR)
-                       continue;
-       } while (1);
-
-       if (len) {
+       if (read_data(fd, p, len)) {
                log_err("fio: failed reading job file %s\n", filename);
                close(fd);
                free(pdu);
@@ -964,14 +974,14 @@ static void convert_agg(struct disk_util_agg *agg)
        int i;
 
        for (i = 0; i < 2; i++) {
-               agg->ios[i]     = le32_to_cpu(agg->ios[i]);
-               agg->merges[i]  = le32_to_cpu(agg->merges[i]);
+               agg->ios[i]     = le64_to_cpu(agg->ios[i]);
+               agg->merges[i]  = le64_to_cpu(agg->merges[i]);
                agg->sectors[i] = le64_to_cpu(agg->sectors[i]);
-               agg->ticks[i]   = le32_to_cpu(agg->ticks[i]);
+               agg->ticks[i]   = le64_to_cpu(agg->ticks[i]);
        }
 
-       agg->io_ticks           = le32_to_cpu(agg->io_ticks);
-       agg->time_in_queue      = le32_to_cpu(agg->time_in_queue);
+       agg->io_ticks           = le64_to_cpu(agg->io_ticks);
+       agg->time_in_queue      = le64_to_cpu(agg->time_in_queue);
        agg->slavecount         = le32_to_cpu(agg->slavecount);
        agg->max_util.u.f       = fio_uint64_to_double(le64_to_cpu(agg->max_util.u.i));
 }
@@ -981,14 +991,14 @@ static void convert_dus(struct disk_util_stat *dus)
        int i;
 
        for (i = 0; i < 2; i++) {
-               dus->s.ios[i]           = le32_to_cpu(dus->s.ios[i]);
-               dus->s.merges[i]        = le32_to_cpu(dus->s.merges[i]);
+               dus->s.ios[i]           = le64_to_cpu(dus->s.ios[i]);
+               dus->s.merges[i]        = le64_to_cpu(dus->s.merges[i]);
                dus->s.sectors[i]       = le64_to_cpu(dus->s.sectors[i]);
-               dus->s.ticks[i]         = le32_to_cpu(dus->s.ticks[i]);
+               dus->s.ticks[i]         = le64_to_cpu(dus->s.ticks[i]);
        }
 
-       dus->s.io_ticks         = le32_to_cpu(dus->s.io_ticks);
-       dus->s.time_in_queue    = le32_to_cpu(dus->s.time_in_queue);
+       dus->s.io_ticks         = le64_to_cpu(dus->s.io_ticks);
+       dus->s.time_in_queue    = le64_to_cpu(dus->s.time_in_queue);
        dus->s.msec             = le64_to_cpu(dus->s.msec);
 }
 
@@ -1330,28 +1340,6 @@ static void sendfile_reply(int fd, struct cmd_sendfile_reply *rep,
        fio_net_send_cmd(fd, FIO_NET_CMD_SENDFILE, rep, size, &tag, NULL);
 }
 
-static int read_data(int fd, void *data, size_t size)
-{
-       ssize_t ret;
-
-       while (size) {
-               ret = read(fd, data, size);
-               if (ret < 0)
-                       return errno;
-               else if (!ret)
-                       break;
-               else {
-                       data += ret;
-                       size -= ret;
-               }
-       }
-
-       if (size)
-               return EAGAIN;
-
-       return 0;
-}
-
 static int send_file(struct fio_client *client, struct cmd_sendfile *pdu,
                     uint64_t tag)
 {
@@ -1497,6 +1485,7 @@ int fio_handle_client(struct fio_client *client)
                char buf[64];
 
                __verify_save_state(pdu, server_name(client, buf, sizeof(buf)));
+               exec_trigger(trigger_cmd);
                break;
                }
        case FIO_NET_CMD_SENDFILE: {