diff --git a/lib/iscsi/iscsi_subsystem.c b/lib/iscsi/iscsi_subsystem.c index ed5eb97b5..7c43538d7 100644 --- a/lib/iscsi/iscsi_subsystem.c +++ b/lib/iscsi/iscsi_subsystem.c @@ -545,6 +545,7 @@ spdk_iscsi_app_read_parameters(void) int AllowDuplicateIsid; int min_conn_per_core = 0; int conn_idle_interval = 0; + unsigned long flush_timeout = 0; /* Process parameters */ SPDK_TRACELOG(SPDK_TRACE_DEBUG, "spdk_iscsi_app_read_parameters\n"); @@ -800,11 +801,13 @@ spdk_iscsi_app_read_parameters(void) g_spdk_iscsi.timeout); val = spdk_conf_section_get_val(sp, "FlushTimeout"); - if (val == NULL) { - g_spdk_iscsi.flush_timeout = DEFAULT_FLUSH_TIMEOUT * (spdk_get_ticks_hz() >> 20); - } else { - g_spdk_iscsi.flush_timeout = strtoul(val, NULL, 10) * (spdk_get_ticks_hz() >> 20); + if (val) { + flush_timeout = strtoul(val, NULL, 10); } + if (flush_timeout == 0) { + flush_timeout = DEFAULT_FLUSH_TIMEOUT; + } + g_spdk_iscsi.flush_timeout = flush_timeout * (spdk_get_ticks_hz() >> 20); SPDK_TRACELOG(SPDK_TRACE_DEBUG, "FlushTimeout %"PRIu64"\n", g_spdk_iscsi.flush_timeout); nopininterval = spdk_conf_section_get_intval(sp, "NopInInterval");