client: use temp buffer for single output flush for json/disk util
[fio.git] / backend.c
index 36bde6a587535635ee9d1dcef6c0bc0c5160f772..bb8bd13bd11f973e616fd3897483e27ec833cbc5 100644 (file)
--- a/backend.c
+++ b/backend.c
@@ -2213,18 +2213,22 @@ static void run_threads(struct sk_out *sk_out)
        }
 
        if (output_format & FIO_OUTPUT_NORMAL) {
-               log_info("Starting ");
+               struct buf_output out;
+
+               buf_output_init(&out);
+               __log_buf(&out, "Starting ");
                if (nr_thread)
-                       log_info("%d thread%s", nr_thread,
+                       __log_buf(&out, "%d thread%s", nr_thread,
                                                nr_thread > 1 ? "s" : "");
                if (nr_process) {
                        if (nr_thread)
-                               log_info(" and ");
-                       log_info("%d process%s", nr_process,
+                               __log_buf(&out, " and ");
+                       __log_buf(&out, "%d process%s", nr_process,
                                                nr_process > 1 ? "es" : "");
                }
-               log_info("\n");
-               log_info_flush();
+               __log_buf(&out, "\n");
+               log_info_buf(out.buf, out.buflen);
+               buf_output_free(&out);
        }
 
        todo = thread_number;
@@ -2481,6 +2485,8 @@ int fio_backend(struct sk_out *sk_out)
        }
 
        startup_sem = fio_sem_init(FIO_SEM_LOCKED);
+       if (!sk_out)
+               is_local_backend = true;
        if (startup_sem == NULL)
                return 1;