Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
openSUSE:Step:FrontRunner
nvme-cli.24266
0013-nvme-cli-ctrl-loss-tmo-should-accept-1-as-...
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File 0013-nvme-cli-ctrl-loss-tmo-should-accept-1-as-value.patch of Package nvme-cli.24266
From: Maurizio Lombardi <mlombard@redhat.com> Date: Mon, 8 Nov 2021 14:26:56 +0100 Subject: nvme-cli: ctrl-loss-tmo should accept -1 as value References: bsc#1192348 Git-commit: 166f7453d7874dec25314c5148543e0577dd4e25 When passing the parameter --ctrl-loss-tmo=-1 nvme-cli silently drops it and replaces its value with the default one (600) despite the fact that -1 is valid and accepted by the kernel. ctrl_loss_tmo < 0 means that it will try to reconnect forever This is due to the fact that -1 is treated like "variable unset" by nvme-cli and the add_int_argument() function ignores all arguments with such a value if allow_zero is true (the latter seems to be completely unintended). This patch fixes the bug by: 1) removing the "arg == -1" condition from add_int_argument() and letting the caller take care of checking if -1 is an acceptable value for a particular argument. 2) initializing ctrl_loss_tmo to its default value instead of -1. Signed-off-by: Maurizio Lombardi <mlombard@redhat.com> [dwagner: updated context, dropped hunks which depend on missing code] Signed-off-by: Daniel Wagner <dwagner@suse.de> --- fabrics.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) --- a/fabrics.c +++ b/fabrics.c @@ -847,7 +847,7 @@ add_int_argument(char **argstr, int *max { int len; - if ((arg && !allow_zero) || (arg != -1 && allow_zero)) { + if (arg || allow_zero) { len = snprintf(*argstr, *max_len, ",%s=%d", arg_str, arg); if (len < 0) return -EINVAL; @@ -921,8 +921,9 @@ static int build_options(char *argstr, i cfg.reconnect_delay, false) || add_int_argument(&argstr, &max_len, "ctrl_loss_tmo", cfg.ctrl_loss_tmo, true) || + (cfg.tos != -1 && add_int_argument(&argstr, &max_len, "tos", - cfg.tos, true) || + cfg.tos, true)) || add_bool_argument(&argstr, &max_len, "duplicate_connect", cfg.duplicate_connect) || add_bool_argument(&argstr, &max_len, "disable_sqflow",
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor