nvme-cli: update to version 1.16
Resolves: #2031004 Signed-off-by: Maurizio Lombardi <mlombard@redhat.com>
This commit is contained in:
parent
0e497cc522
commit
ed979f6548
1
.gitignore
vendored
1
.gitignore
vendored
@ -19,3 +19,4 @@
|
||||
/v1.11.1.tar.gz
|
||||
/v1.13.tar.gz
|
||||
/v1.14.tar.gz
|
||||
/v1.16.tar.gz
|
||||
|
@ -1,33 +0,0 @@
|
||||
From 6abc4f36b38aa6be3c7e4b89e2997e5006e40b37 Mon Sep 17 00:00:00 2001
|
||||
From: Keith Busch <kbusch@kernel.org>
|
||||
Date: Tue, 1 Jun 2021 07:01:44 -0700
|
||||
Subject: [PATCH] default flush to use block device nsid
|
||||
|
||||
Kernel 5.13 added checks to ensure the ioctl path can't be abused to
|
||||
access a different namespace than the one user space has permission to
|
||||
open. This unfortunately breaks the all-nsid flush usage, so user
|
||||
tooling needs to default to the device's namespace id.
|
||||
|
||||
Link: https://lore.kernel.org/linux-nvme/20210518144249.GE2709569@dhcp-10-100-145-180.wdc.com/T/#t
|
||||
Link: https://github.com/linux-nvme/nvme-cli/issues/1066
|
||||
Signed-off-by: Keith Busch <kbusch@kernel.org>
|
||||
---
|
||||
nvme.c | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/nvme.c b/nvme.c
|
||||
index 87e1a82..1666ba5 100644
|
||||
--- a/nvme.c
|
||||
+++ b/nvme.c
|
||||
@@ -4384,7 +4384,7 @@ static int flush(int argc, char **argv, struct command *cmd, struct plugin *plug
|
||||
};
|
||||
|
||||
struct config cfg = {
|
||||
- .namespace_id = NVME_NSID_ALL,
|
||||
+ .namespace_id = 0,
|
||||
};
|
||||
|
||||
OPT_ARGS(opts) = {
|
||||
--
|
||||
2.31.1
|
||||
|
@ -0,0 +1,32 @@
|
||||
From f74ac1b841b0aae73969debaed0444f0ecb03dba Mon Sep 17 00:00:00 2001
|
||||
From: Martin George <marting@netapp.com>
|
||||
Date: Mon, 15 Nov 2021 16:00:47 +0530
|
||||
Subject: [PATCH 1/3] fabrics: fix 'nvme connect' segfault if transport type is
|
||||
omitted
|
||||
|
||||
Check if the transport type is available before dereferencing
|
||||
it in discovery_trsvcid().
|
||||
|
||||
Fixes: 362c90f ("fabrics: add default port number for NVMe/TCP I/O
|
||||
controllers")
|
||||
Signed-off-by: Martin George <marting@netapp.com>
|
||||
---
|
||||
fabrics.c | 2 ++
|
||||
1 file changed, 2 insertions(+)
|
||||
|
||||
diff --git a/fabrics.c b/fabrics.c
|
||||
index d691191..adca89b 100644
|
||||
--- a/fabrics.c
|
||||
+++ b/fabrics.c
|
||||
@@ -1070,6 +1070,8 @@ static void set_discovery_kato(struct fabrics_config *cfg)
|
||||
|
||||
static void discovery_trsvcid(struct fabrics_config *fabrics_cfg, bool discover)
|
||||
{
|
||||
+ if (!fabrics_cfg->transport)
|
||||
+ return;
|
||||
if (!strcmp(fabrics_cfg->transport, "tcp")) {
|
||||
if (discover) {
|
||||
/* Default port for NVMe/TCP discovery controllers */
|
||||
--
|
||||
2.27.0
|
||||
|
@ -1,43 +0,0 @@
|
||||
diff --git a/fabrics.c b/fabrics.c
|
||||
index 7dd0d27..e831882 100644
|
||||
--- a/fabrics.c
|
||||
+++ b/fabrics.c
|
||||
@@ -68,7 +68,7 @@ const char *conarg_trsvcid = "trsvcid";
|
||||
const char *conarg_host_traddr = "host_traddr";
|
||||
|
||||
struct fabrics_config fabrics_cfg = {
|
||||
- .ctrl_loss_tmo = -1,
|
||||
+ .ctrl_loss_tmo = NVMF_DEF_CTRL_LOSS_TMO,
|
||||
.output_format = "normal",
|
||||
};
|
||||
|
||||
@@ -913,7 +913,7 @@ add_int_argument(char **argstr, int *max_len, char *arg_str, int arg,
|
||||
{
|
||||
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;
|
||||
@@ -954,9 +954,6 @@ int build_options(char *argstr, int max_len, bool discover)
|
||||
msg(LOG_ERR, "need a address (-a) argument\n");
|
||||
return -EINVAL;
|
||||
}
|
||||
- /* Use the default ctrl loss timeout if unset */
|
||||
- if (fabrics_cfg.ctrl_loss_tmo == -1)
|
||||
- fabrics_cfg.ctrl_loss_tmo = NVMF_DEF_CTRL_LOSS_TMO;
|
||||
}
|
||||
|
||||
/* always specify nqn as first arg - this will init the string */
|
||||
@@ -991,8 +988,9 @@ int build_options(char *argstr, int max_len, bool discover)
|
||||
(strncmp(fabrics_cfg.transport, "loop", 4) &&
|
||||
add_int_argument(&argstr, &max_len, "ctrl_loss_tmo",
|
||||
fabrics_cfg.ctrl_loss_tmo, true)) ||
|
||||
+ (fabrics_cfg.tos != -1 &&
|
||||
add_int_argument(&argstr, &max_len, "tos",
|
||||
- fabrics_cfg.tos, true) ||
|
||||
+ fabrics_cfg.tos, true)) ||
|
||||
add_bool_argument(&argstr, &max_len, "duplicate_connect",
|
||||
fabrics_cfg.duplicate_connect) ||
|
||||
add_bool_argument(&argstr, &max_len, "disable_sqflow",
|
29
0002-fabrics-fix-a-buffer-overrun.patch
Normal file
29
0002-fabrics-fix-a-buffer-overrun.patch
Normal file
@ -0,0 +1,29 @@
|
||||
From ff8f9b6f59b574fda24a071fb0af4381c0cc6d9f Mon Sep 17 00:00:00 2001
|
||||
From: Maurizio Lombardi <mlombard@redhat.com>
|
||||
Date: Thu, 9 Dec 2021 12:21:51 +0100
|
||||
Subject: [PATCH 2/3] fabrics: fix a buffer overrun
|
||||
|
||||
the uuid buffer size must be at least 37 bytes to avoid
|
||||
corrupting the memory
|
||||
|
||||
Signed-off-by: Maurizio Lombardi <mlombard@redhat.com>
|
||||
---
|
||||
fabrics.c | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/fabrics.c b/fabrics.c
|
||||
index adca89b..0766729 100644
|
||||
--- a/fabrics.c
|
||||
+++ b/fabrics.c
|
||||
@@ -883,7 +883,7 @@ static char *hostnqn_generate_systemd(void)
|
||||
|
||||
static char *hostnqn_read_dmi(void)
|
||||
{
|
||||
- char uuid[16];
|
||||
+ char uuid[37];
|
||||
char *ret = NULL;
|
||||
|
||||
if (uuid_from_dmi(uuid) < 0)
|
||||
--
|
||||
2.27.0
|
||||
|
36
0003-bash-Fix-nvme-completion.patch
Normal file
36
0003-bash-Fix-nvme-completion.patch
Normal file
@ -0,0 +1,36 @@
|
||||
From 821935cccfcad6b18da78d42f9ddf49f4cbe0b8e Mon Sep 17 00:00:00 2001
|
||||
From: Daniel Wagner <dwagner@suse.de>
|
||||
Date: Thu, 9 Dec 2021 15:40:26 +0100
|
||||
Subject: [PATCH 3/3] bash: Fix nvme completion
|
||||
|
||||
Signed-off-by: Daniel Wagner <dwagner@suse.de>
|
||||
---
|
||||
completions/bash-nvme-completion.sh | 5 ++---
|
||||
1 file changed, 2 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/completions/bash-nvme-completion.sh b/completions/bash-nvme-completion.sh
|
||||
index 41938d7..902da01 100644
|
||||
--- a/completions/bash-nvme-completion.sh
|
||||
+++ b/completions/bash-nvme-completion.sh
|
||||
@@ -101,8 +101,7 @@ _cmds="list list-subsys id-ctrl id-ns \
|
||||
connect disconnect disconnect-all gen-hostnqn \
|
||||
show-hostnqn dir-receive dir-send virt-mgmt \
|
||||
rpmb boot-part-log fid-support-effects-log \
|
||||
- supported-log-pages lockdown"
|
||||
- supported-log-pages list-endgrp"
|
||||
+ supported-log-pages lockdown list-endgrp"
|
||||
|
||||
# Add plugins:
|
||||
for plugin in "${!_plugin_subcmds[@]}"; do
|
||||
@@ -1368,7 +1367,7 @@ plugin_ymtc_opts () {
|
||||
opts+=" --namespace-id= -n --raw-binary -b"
|
||||
;;
|
||||
"help")
|
||||
- opts+=NO_OPTS
|
||||
+ opts+=$NO_OPTS
|
||||
;;
|
||||
esac
|
||||
|
||||
--
|
||||
2.27.0
|
||||
|
@ -2,8 +2,8 @@
|
||||
#%%global shortcommit0 %%(c=%%{commit0}; echo ${c:0:7})
|
||||
|
||||
Name: nvme-cli
|
||||
Version: 1.14
|
||||
Release: 4%{?dist}
|
||||
Version: 1.16
|
||||
Release: 2%{?dist}
|
||||
Summary: NVMe management command line interface
|
||||
|
||||
License: GPLv2+
|
||||
@ -11,8 +11,9 @@ URL: https://github.com/linux-nvme/nvme-cli
|
||||
Source0: https://github.com/linux-nvme/%{name}/archive/v%{version}.tar.gz
|
||||
|
||||
Patch0: nvme-cli-makefile-dont-install-host-params-patch
|
||||
Patch1: 0001-default-flush-to-use-block-device-nsid.patch
|
||||
Patch2: 0001-nvme-cli-ctrl-loss-tmo-should-accept-1-as-value.patch
|
||||
Patch1: 0001-fabrics-fix-nvme-connect-segfault-if-transport-type-.patch
|
||||
Patch2: 0002-fabrics-fix-a-buffer-overrun.patch
|
||||
Patch3: 0003-bash-Fix-nvme-completion.patch
|
||||
|
||||
BuildRequires: libuuid-devel
|
||||
BuildRequires: gcc
|
||||
@ -28,6 +29,7 @@ nvme-cli provides NVM-Express user space tooling for Linux.
|
||||
%patch0 -p1
|
||||
%patch1 -p1
|
||||
%patch2 -p1
|
||||
%patch3 -p1
|
||||
|
||||
|
||||
%build
|
||||
@ -85,6 +87,9 @@ if [ $1 -eq 1 ] || [ $1 -eq 2 ]; then
|
||||
fi
|
||||
|
||||
%changelog
|
||||
* Mon Dec 13 2021 Maurizio Lombardi <mlombard@redhat.com> - 1.16-2
|
||||
- Update to the latest version
|
||||
|
||||
* Thu Dec 09 2021 Maurizio Lombardi <mlombard@redhat.com> - 1.14-4
|
||||
- Fix handling of the ctrl_loss_tmo parameter
|
||||
|
||||
|
2
sources
2
sources
@ -1 +1 @@
|
||||
SHA512 (v1.14.tar.gz) = b5e18708233fd37069d84ee34232d737ed6d6909b0ec523d82cc2c4940172f7ce769b9bbec0d8615ebee544a5174cb4d752ad6d96ea05cfaa1177efc760f0e9e
|
||||
SHA512 (v1.16.tar.gz) = c713eb15b979ad17791cf95717b42d5f638cb4803d646bca1f4825e6bb50f086226b44b108b61571709b2cb615ae6ba86dbad309f675b240ebd3968d1cf536ff
|
||||
|
Loading…
Reference in New Issue
Block a user