Skip to content

Commit 7e42d89

Browse files
authored
Merge pull request #135 from hreinecke/ctrl-loss-args
Fix up handling of '-1' values
2 parents 609e6fa + d06c94d commit 7e42d89

1 file changed

Lines changed: 18 additions & 5 deletions

File tree

src/nvme/fabrics.c

Lines changed: 18 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -222,6 +222,22 @@ static int add_int_argument(char **argstr, char *tok, int arg, bool allow_zero)
222222
return 0;
223223
}
224224

225+
static int add_int_or_minus_one_argument(char **argstr, char *tok, int arg)
226+
{
227+
char *nstr;
228+
229+
if (arg < -1)
230+
return 0;
231+
if (asprintf(&nstr, "%s,%s=%d", *argstr, tok, arg) < 0) {
232+
errno = ENOMEM;
233+
return -1;
234+
}
235+
free(*argstr);
236+
*argstr = nstr;
237+
238+
return 0;
239+
}
240+
225241
static int add_argument(char **argstr, const char *tok, const char *arg)
226242
{
227243
char *nstr;
@@ -413,9 +429,6 @@ static int build_options(nvme_host_t h, nvme_ctrl_t c, char **argstr)
413429
nvme_msg(LOG_ERR, "need a address (-a) argument\n");
414430
return -ENVME_CONNECT_AARG;
415431
}
416-
/* Use the default ctrl loss timeout if unset */
417-
if (cfg->ctrl_loss_tmo == -1)
418-
cfg->ctrl_loss_tmo = NVMF_DEF_CTRL_LOSS_TMO;
419432
}
420433

421434
/* always specify nqn as first arg - this will init the string */
@@ -467,8 +480,8 @@ static int build_options(nvme_host_t h, nvme_ctrl_t c, char **argstr)
467480
add_int_argument(argstr, "reconnect_delay",
468481
cfg->reconnect_delay, false) ||
469482
(strcmp(transport, "loop") &&
470-
add_int_argument(argstr, "ctrl_loss_tmo",
471-
cfg->ctrl_loss_tmo, false)) ||
483+
add_int_or_minus_one_argument(argstr, "ctrl_loss_tmo",
484+
cfg->ctrl_loss_tmo)) ||
472485
(strcmp(transport, "loop") &&
473486
add_int_argument(argstr, "fast_io_fail_tmo",
474487
cfg->fast_io_fail_tmo, false)) ||

0 commit comments

Comments
 (0)