filesetup: Initialize all members of struct fio_file
[fio.git] / server.c
index e9792027c6330659ce1aa4a8b4402452efa0836f..959786f8b711647ebe703d40126c24de41a0598a 100644 (file)
--- a/server.c
+++ b/server.c
@@ -844,25 +844,24 @@ static int handle_jobline_cmd(struct fio_net_cmd *cmd)
 static int handle_probe_cmd(struct fio_net_cmd *cmd)
 {
        struct cmd_client_probe_pdu *pdu = (struct cmd_client_probe_pdu *) cmd->payload;
-       struct cmd_probe_reply_pdu probe;
        uint64_t tag = cmd->tag;
+       struct cmd_probe_reply_pdu probe = {
+#ifdef CONFIG_BIG_ENDIAN
+               .bigendian      = 1,
+#endif
+               .os             = FIO_OS,
+               .arch           = FIO_ARCH,
+               .bpp            = sizeof(void *),
+               .cpus           = __cpu_to_le32(cpus_online()),
+       };
 
        dprint(FD_NET, "server: sending probe reply\n");
 
        strcpy(me, (char *) pdu->server);
 
-       memset(&probe, 0, sizeof(probe));
        gethostname((char *) probe.hostname, sizeof(probe.hostname));
-#ifdef CONFIG_BIG_ENDIAN
-       probe.bigendian = 1;
-#endif
        strncpy((char *) probe.fio_version, fio_version_string, sizeof(probe.fio_version) - 1);
 
-       probe.os        = FIO_OS;
-       probe.arch      = FIO_ARCH;
-       probe.bpp       = sizeof(void *);
-       probe.cpus      = __cpu_to_le32(cpus_online());
-
        /*
         * If the client supports compression and we do too, then enable it
         */
@@ -1444,6 +1443,7 @@ static void convert_gs(struct group_run_stats *dst, struct group_run_stats *src)
        dst->unit_base  = cpu_to_le32(src->unit_base);
        dst->groupid    = cpu_to_le32(src->groupid);
        dst->unified_rw_rep     = cpu_to_le32(src->unified_rw_rep);
+       dst->sig_figs   = cpu_to_le32(src->sig_figs);
 }
 
 /*
@@ -1497,21 +1497,21 @@ void fio_server_send_ts(struct thread_stat *ts, struct group_run_stats *rs)
        }
 
        for (i = 0; i < FIO_IO_U_MAP_NR; i++) {
-               p.ts.io_u_map[i]        = cpu_to_le32(ts->io_u_map[i]);
-               p.ts.io_u_submit[i]     = cpu_to_le32(ts->io_u_submit[i]);
-               p.ts.io_u_complete[i]   = cpu_to_le32(ts->io_u_complete[i]);
+               p.ts.io_u_map[i]        = cpu_to_le64(ts->io_u_map[i]);
+               p.ts.io_u_submit[i]     = cpu_to_le64(ts->io_u_submit[i]);
+               p.ts.io_u_complete[i]   = cpu_to_le64(ts->io_u_complete[i]);
        }
 
        for (i = 0; i < FIO_IO_U_LAT_N_NR; i++)
-               p.ts.io_u_lat_n[i]      = cpu_to_le32(ts->io_u_lat_n[i]);
+               p.ts.io_u_lat_n[i]      = cpu_to_le64(ts->io_u_lat_n[i]);
        for (i = 0; i < FIO_IO_U_LAT_U_NR; i++)
-               p.ts.io_u_lat_u[i]      = cpu_to_le32(ts->io_u_lat_u[i]);
+               p.ts.io_u_lat_u[i]      = cpu_to_le64(ts->io_u_lat_u[i]);
        for (i = 0; i < FIO_IO_U_LAT_M_NR; i++)
-               p.ts.io_u_lat_m[i]      = cpu_to_le32(ts->io_u_lat_m[i]);
+               p.ts.io_u_lat_m[i]      = cpu_to_le64(ts->io_u_lat_m[i]);
 
        for (i = 0; i < DDIR_RWDIR_CNT; i++)
                for (j = 0; j < FIO_IO_U_PLAT_NR; j++)
-                       p.ts.io_u_plat[i][j] = cpu_to_le32(ts->io_u_plat[i][j]);
+                       p.ts.io_u_plat[i][j] = cpu_to_le64(ts->io_u_plat[i][j]);
 
        for (i = 0; i < DDIR_RWDIR_CNT; i++) {
                p.ts.total_io_u[i]      = cpu_to_le64(ts->total_io_u[i]);
@@ -1748,7 +1748,7 @@ static int __fio_append_iolog_gz_hist(struct sk_entry *first, struct io_log *log
        for (i = 0; i < cur_log->nr_samples; i++) {
                struct io_sample *s;
                struct io_u_plat_entry *cur_plat_entry, *prev_plat_entry;
-               unsigned int *cur_plat, *prev_plat;
+               uint64_t *cur_plat, *prev_plat;
 
                s = get_sample(log, cur_log, i);
                ret = __deflate_pdu_buffer(s, sample_sz, &out_pdu, &entry, stream, first);
@@ -1826,13 +1826,12 @@ static int __fio_append_iolog_gz(struct sk_entry *first, struct io_log *log,
 
 static int fio_append_iolog_gz(struct sk_entry *first, struct io_log *log)
 {
+       z_stream stream = {
+               .zalloc = Z_NULL,
+               .zfree  = Z_NULL,
+               .opaque = Z_NULL,
+       };
        int ret = 0;
-       z_stream stream;
-
-       memset(&stream, 0, sizeof(stream));
-       stream.zalloc = Z_NULL;
-       stream.zfree = Z_NULL;
-       stream.opaque = Z_NULL;
 
        if (deflateInit(&stream, Z_DEFAULT_COMPRESSION) != Z_OK)
                return 1;
@@ -1998,11 +1997,11 @@ int fio_send_iolog(struct thread_data *td, struct io_log *log, const char *name)
 
 void fio_server_send_add_job(struct thread_data *td)
 {
-       struct cmd_add_job_pdu pdu;
+       struct cmd_add_job_pdu pdu = {
+               .thread_number = cpu_to_le32(td->thread_number),
+               .groupid = cpu_to_le32(td->groupid),
+       };
 
-       memset(&pdu, 0, sizeof(pdu));
-       pdu.thread_number = cpu_to_le32(td->thread_number);
-       pdu.groupid = cpu_to_le32(td->groupid);
        convert_thread_options_to_net(&pdu.top, &td->o);
 
        fio_net_queue_cmd(FIO_NET_CMD_ADD_JOB, &pdu, sizeof(pdu), NULL,
@@ -2240,11 +2239,10 @@ int fio_server_parse_host(const char *host, int ipv6, struct in_addr *inp,
                ret = inet_pton(AF_INET, host, inp);
 
        if (ret != 1) {
-               struct addrinfo hints, *res;
-
-               memset(&hints, 0, sizeof(hints));
-               hints.ai_family = ipv6 ? AF_INET6 : AF_INET;
-               hints.ai_socktype = SOCK_STREAM;
+               struct addrinfo *res, hints = {
+                       .ai_family = ipv6 ? AF_INET6 : AF_INET,
+                       .ai_socktype = SOCK_STREAM,
+               };
 
                ret = getaddrinfo(host, NULL, &hints, &res);
                if (ret) {
@@ -2403,11 +2401,11 @@ static void sig_int(int sig)
 
 static void set_sig_handlers(void)
 {
-       struct sigaction act;
+       struct sigaction act = {
+               .sa_handler = sig_int,
+               .sa_flags = SA_RESTART,
+       };
 
-       memset(&act, 0, sizeof(act));
-       act.sa_handler = sig_int;
-       act.sa_flags = SA_RESTART;
        sigaction(SIGINT, &act, NULL);
 }