Merge branch 'master' of https://github.com/blah325/fio
authorJens Axboe <axboe@kernel.dk>
Thu, 3 Feb 2022 22:22:41 +0000 (15:22 -0700)
committerJens Axboe <axboe@kernel.dk>
Thu, 3 Feb 2022 22:22:41 +0000 (15:22 -0700)
* 'master' of https://github.com/blah325/fio:
  Added a new windows only IO engine option “no_completion_thread”.
  Add Windows support for --server.
  Avoid client calls to recv() without prior poll()

1  2 
client.c
init.c

diff --combined client.c
index be8411d8232f4c547e04b246209beff433ba9efa,0bcee29b571e1e72b24d92438f79a272a158464b..7a4bfc0d37ec88dfb013b2b4e77e4550264ab6de
+++ b/client.c
@@@ -284,9 -284,10 +284,10 @@@ static int fio_client_dec_jobs_eta(stru
  static void fio_drain_client_text(struct fio_client *client)
  {
        do {
-               struct fio_net_cmd *cmd;
+               struct fio_net_cmd *cmd = NULL;
  
-               cmd = fio_net_recv_cmd(client->fd, false);
+               if (fio_server_poll_fd(client->fd, POLLIN, 0))
+                       cmd = fio_net_recv_cmd(client->fd, false);
                if (!cmd)
                        break;
  
@@@ -1111,7 -1112,7 +1112,7 @@@ static void handle_ts(struct fio_clien
        if (sum_stat_clients <= 1)
                return;
  
 -      sum_thread_stats(&client_ts, &p->ts, sum_stat_nr == 1);
 +      sum_thread_stats(&client_ts, &p->ts);
        sum_group_stats(&client_gs, &p->rs);
  
        client_ts.members++;
diff --combined init.c
index 07daaa84b17c6318727846e9634919c328fe6a07,8a6066872a37439f6e05d72f404dd5a85de55861..f983dbbb6d988328b0d2b3cceb22b259b14f2c07
--- 1/init.c
--- 2/init.c
+++ b/init.c
@@@ -224,6 -224,13 +224,13 @@@ static struct option l_opts[FIO_NR_OPTI
                .has_arg        = optional_argument,
                .val            = 'S',
        },
+ #ifdef WIN32
+       {
+               .name           = (char *) "server-internal",
+               .has_arg        = required_argument,
+               .val            = 'N',
+       },
+ #endif
        {       .name           = (char *) "daemonize",
                .has_arg        = required_argument,
                .val            = 'D',
@@@ -1586,23 -1593,17 +1593,23 @@@ static int add_job(struct thread_data *
                else
                        suf = "log";
  
 -              gen_log_name(logname, sizeof(logname), "lat", pre,
 -                              td->thread_number, suf, o->per_job_logs);
 -              setup_log(&td->lat_log, &p, logname);
 +              if (!o->disable_lat) {
 +                      gen_log_name(logname, sizeof(logname), "lat", pre,
 +                                   td->thread_number, suf, o->per_job_logs);
 +                      setup_log(&td->lat_log, &p, logname);
 +              }
  
 -              gen_log_name(logname, sizeof(logname), "slat", pre,
 -                              td->thread_number, suf, o->per_job_logs);
 -              setup_log(&td->slat_log, &p, logname);
 +              if (!o->disable_slat) {
 +                      gen_log_name(logname, sizeof(logname), "slat", pre,
 +                                   td->thread_number, suf, o->per_job_logs);
 +                      setup_log(&td->slat_log, &p, logname);
 +              }
  
 -              gen_log_name(logname, sizeof(logname), "clat", pre,
 -                              td->thread_number, suf, o->per_job_logs);
 -              setup_log(&td->clat_log, &p, logname);
 +              if (!o->disable_clat) {
 +                      gen_log_name(logname, sizeof(logname), "clat", pre,
 +                                   td->thread_number, suf, o->per_job_logs);
 +                      setup_log(&td->clat_log, &p, logname);
 +              }
  
        }
  
@@@ -2795,6 -2796,12 +2802,12 @@@ int parse_cmd_line(int argc, char *argv
                        exit_val = 1;
  #endif
                        break;
+ #ifdef WIN32
+               case 'N':
+                       did_arg = true;
+                       fio_server_internal_set(optarg);
+                       break;
+ #endif
                case 'D':
                        if (pid_file)
                                free(pid_file);