Update to version v2.1.2
Resolves: #2113956 Signed-off-by: Maurizio Lombardi <mlombard@redhat.com>
This commit is contained in:
parent
d3cb36d296
commit
6a09f30cff
1
.gitignore
vendored
1
.gitignore
vendored
@ -21,3 +21,4 @@
|
|||||||
/v1.14.tar.gz
|
/v1.14.tar.gz
|
||||||
/v1.16.tar.gz
|
/v1.16.tar.gz
|
||||||
/nvme-cli-2.0.tar.gz
|
/nvme-cli-2.0.tar.gz
|
||||||
|
/nvme-cli-2.1.2.tar.gz
|
||||||
|
@ -1,102 +0,0 @@
|
|||||||
From 43c1ac652b74182e483f2e8033a5f5fe417fb429 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Daniel Wagner <dwagner@suse.de>
|
|
||||||
Date: Mon, 11 Jul 2022 13:39:39 +0200
|
|
||||||
Subject: [PATCH] nvme: Return status/error code for effects-log command
|
|
||||||
|
|
||||||
collect_effects_log eats up the return code from
|
|
||||||
nvme_get_log_cmd_effects. Forward it to the shell..
|
|
||||||
|
|
||||||
Fixes: 155fbebfe7b7 ("Update effects-log to handle multiple command sets")
|
|
||||||
|
|
||||||
Signed-off-by: Daniel Wagner <dwagner@suse.de>
|
|
||||||
---
|
|
||||||
nvme.c | 44 ++++++++++++++++++++++++--------------------
|
|
||||||
1 file changed, 24 insertions(+), 20 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/nvme.c b/nvme.c
|
|
||||||
index a2a9996a..6df08d7e 100644
|
|
||||||
--- a/nvme.c
|
|
||||||
+++ b/nvme.c
|
|
||||||
@@ -587,18 +587,22 @@ ret:
|
|
||||||
return err;
|
|
||||||
}
|
|
||||||
|
|
||||||
-void collect_effects_log(int fd, enum nvme_csi csi, struct list_head *list, int flags)
|
|
||||||
+static int collect_effects_log(int fd, enum nvme_csi csi,
|
|
||||||
+ struct list_head *list, int flags)
|
|
||||||
{
|
|
||||||
+ nvme_effects_log_node_t *node;
|
|
||||||
int err;
|
|
||||||
- nvme_effects_log_node_t *node = malloc(sizeof(nvme_effects_log_node_t));
|
|
||||||
+
|
|
||||||
+ node = malloc(sizeof(nvme_effects_log_node_t));
|
|
||||||
if (!node)
|
|
||||||
- return;
|
|
||||||
+ return -ENOMEM;
|
|
||||||
+
|
|
||||||
node->csi = csi;
|
|
||||||
|
|
||||||
err = nvme_get_log_cmd_effects(fd, csi, &node->effects);
|
|
||||||
if (!err) {
|
|
||||||
list_add(list, &node->node);
|
|
||||||
- return;
|
|
||||||
+ return err;
|
|
||||||
}
|
|
||||||
else if (err > 0)
|
|
||||||
nvme_show_status(err);
|
|
||||||
@@ -606,6 +610,7 @@ void collect_effects_log(int fd, enum nvme_csi csi, struct list_head *list, int
|
|
||||||
fprintf(stderr, "effects log page: %s\n", nvme_strerror(errno));
|
|
||||||
|
|
||||||
free(node);
|
|
||||||
+ return err;
|
|
||||||
}
|
|
||||||
|
|
||||||
static int get_effects_log(int argc, char **argv, struct command *cmd, struct plugin *plugin)
|
|
||||||
@@ -676,29 +681,28 @@ static int get_effects_log(int argc, char **argv, struct command *cmd, struct pl
|
|
||||||
nvme_command_set_supported = NVME_CAP_CSS(cap) & NVME_CAP_CSS_NVM;
|
|
||||||
other_command_sets_supported = NVME_CAP_CSS(cap) & NVME_CAP_CSS_CSI;
|
|
||||||
|
|
||||||
+ if (nvme_command_set_supported)
|
|
||||||
+ err = collect_effects_log(fd, NVME_CSI_NVM,
|
|
||||||
+ &log_pages, flags);
|
|
||||||
|
|
||||||
- if (nvme_command_set_supported) {
|
|
||||||
- collect_effects_log(fd, NVME_CSI_NVM, &log_pages, flags);
|
|
||||||
- }
|
|
||||||
-
|
|
||||||
- if (other_command_sets_supported) {
|
|
||||||
- collect_effects_log(fd, NVME_CSI_ZNS, &log_pages, flags);
|
|
||||||
- }
|
|
||||||
-
|
|
||||||
- nvme_print_effects_log_pages(&log_pages, flags);
|
|
||||||
+ if (!err && other_command_sets_supported)
|
|
||||||
+ err = collect_effects_log(fd, NVME_CSI_ZNS,
|
|
||||||
+ &log_pages, flags);
|
|
||||||
|
|
||||||
- }
|
|
||||||
- else {
|
|
||||||
- collect_effects_log(fd, cfg.csi, &log_pages, flags);
|
|
||||||
- nvme_print_effects_log_pages(&log_pages, flags);
|
|
||||||
+ } else {
|
|
||||||
+ err = collect_effects_log(fd, cfg.csi, &log_pages, flags);
|
|
||||||
}
|
|
||||||
|
|
||||||
+ if (!err)
|
|
||||||
+ nvme_print_effects_log_pages(&log_pages, flags);
|
|
||||||
+ else if (err > 0)
|
|
||||||
+ nvme_show_status(err);
|
|
||||||
+ else
|
|
||||||
+ perror("effects log page");
|
|
||||||
|
|
||||||
close_fd:
|
|
||||||
- while ((node = list_pop(&log_pages, nvme_effects_log_node_t, node))) {
|
|
||||||
+ while ((node = list_pop(&log_pages, nvme_effects_log_node_t, node)))
|
|
||||||
free(node);
|
|
||||||
- }
|
|
||||||
-
|
|
||||||
close(fd);
|
|
||||||
ret:
|
|
||||||
return err;
|
|
||||||
--
|
|
||||||
2.31.1
|
|
||||||
|
|
49
0001-nvme-print-Handle-NULL-hostid-in-JSON-output.patch
Normal file
49
0001-nvme-print-Handle-NULL-hostid-in-JSON-output.patch
Normal file
@ -0,0 +1,49 @@
|
|||||||
|
From cc07ea605d1e89eea98ace6b16e8fd3305a6ee6d Mon Sep 17 00:00:00 2001
|
||||||
|
From: Tomas Bzatek <tbzatek@redhat.com>
|
||||||
|
Date: Tue, 13 Sep 2022 16:54:44 +0200
|
||||||
|
Subject: [PATCH] nvme-print: Handle NULL hostid in JSON output
|
||||||
|
|
||||||
|
For pcie devices there might be no hostid available, in case the
|
||||||
|
/etc/nvme/hostid file doesn't exist.
|
||||||
|
---
|
||||||
|
nvme-print.c | 11 ++++++++---
|
||||||
|
1 file changed, 8 insertions(+), 3 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/nvme-print.c b/nvme-print.c
|
||||||
|
index 24ebfe54..cf61e14f 100644
|
||||||
|
--- a/nvme-print.c
|
||||||
|
+++ b/nvme-print.c
|
||||||
|
@@ -2483,12 +2483,14 @@ static void json_print_nvme_subsystem_list(nvme_root_t r, bool show_ana)
|
||||||
|
|
||||||
|
nvme_for_each_host(r, h) {
|
||||||
|
nvme_subsystem_t s;
|
||||||
|
+ const char *hostid;
|
||||||
|
|
||||||
|
host_attrs = json_create_object();
|
||||||
|
json_object_add_value_string(host_attrs, "HostNQN",
|
||||||
|
nvme_host_get_hostnqn(h));
|
||||||
|
- json_object_add_value_string(host_attrs, "HostID",
|
||||||
|
- nvme_host_get_hostid(h));
|
||||||
|
+ hostid = nvme_host_get_hostid(h);
|
||||||
|
+ if (hostid)
|
||||||
|
+ json_object_add_value_string(host_attrs, "HostID", hostid);
|
||||||
|
subsystems = json_create_array();
|
||||||
|
nvme_for_each_subsystem(h, s) {
|
||||||
|
subsystem_attrs = json_create_object();
|
||||||
|
@@ -7359,9 +7361,12 @@ static void json_detail_list(nvme_root_t r)
|
||||||
|
nvme_for_each_host(r, h) {
|
||||||
|
struct json_object *hss = json_create_object();
|
||||||
|
struct json_object *jsslist = json_create_array();
|
||||||
|
+ const char *hostid;
|
||||||
|
|
||||||
|
json_object_add_value_string(hss, "HostNQN", nvme_host_get_hostnqn(h));
|
||||||
|
- json_object_add_value_string(hss, "HostID", nvme_host_get_hostid(h));
|
||||||
|
+ hostid = nvme_host_get_hostid(h);
|
||||||
|
+ if (hostid)
|
||||||
|
+ json_object_add_value_string(hss, "HostID", hostid);
|
||||||
|
|
||||||
|
nvme_for_each_subsystem(h , s) {
|
||||||
|
struct json_object *jss = json_create_object();
|
||||||
|
--
|
||||||
|
2.31.1
|
||||||
|
|
@ -1,69 +0,0 @@
|
|||||||
From 25fd8c707b106ca0763402566ad657ef710bf09e Mon Sep 17 00:00:00 2001
|
|
||||||
From: Brad Mouring <brad@the-bradlands.net>
|
|
||||||
Date: Mon, 2 May 2022 22:38:24 -0500
|
|
||||||
Subject: [PATCH] completions: Collapse declaration and attribute assignment
|
|
||||||
|
|
||||||
Previously, the associative arrays for the vendor/subcommands and
|
|
||||||
vendor/functions listings were split into a declaration of type
|
|
||||||
(using "typeset") and attribute definition (using "readonly"). On
|
|
||||||
bash 5.1.16 (at least), this lead to the following error (reported
|
|
||||||
after enabling -xv to expand and print shell inputs)
|
|
||||||
|
|
||||||
...
|
|
||||||
+ . /usr/share/bash-completion/completions/nvme
|
|
||||||
# bash tab completion for the nvme command line utility
|
|
||||||
# (unfortunately, bash won't let me add descriptions to cmds)
|
|
||||||
# Kelly Kaoudis kelly.n.kaoudis at intel.com, Aug. 2015
|
|
||||||
|
|
||||||
# Constant to indicate command has no options
|
|
||||||
readonly NO_OPTS=""
|
|
||||||
++ readonly NO_OPTS=
|
|
||||||
++ NO_OPTS=
|
|
||||||
|
|
||||||
# Associative array of plugins and associated subcommands
|
|
||||||
# Order here is same as PLUGIN_OBJS in Makefile
|
|
||||||
typeset -A _plugin_subcmds
|
|
||||||
++ typeset -A _plugin_subcmds
|
|
||||||
readonly _plugin_subcmds=(
|
|
||||||
[intel]="id-ctrl internal-log lat-stats \
|
|
||||||
...
|
|
||||||
++ _plugin_subcmds=(['intel']='id-ctrl internal-log lat-stats...
|
|
||||||
bash: 'intel': syntax error: operand expected (error token is "'intel'")
|
|
||||||
...
|
|
||||||
|
|
||||||
Using the available flags for "typeset" to declare the variables as
|
|
||||||
readonly arrays resolved the issue (and allows for bash completion
|
|
||||||
to work as-expected)
|
|
||||||
|
|
||||||
Signed-off-by: Brad Mouring <bmouring@gmail.com>
|
|
||||||
---
|
|
||||||
completions/bash-nvme-completion.sh | 6 ++----
|
|
||||||
1 file changed, 2 insertions(+), 4 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/completions/bash-nvme-completion.sh b/completions/bash-nvme-completion.sh
|
|
||||||
index 5e0eb23b..51931bc1 100644
|
|
||||||
--- a/completions/bash-nvme-completion.sh
|
|
||||||
+++ b/completions/bash-nvme-completion.sh
|
|
||||||
@@ -7,8 +7,7 @@ readonly NO_OPTS=""
|
|
||||||
|
|
||||||
# Associative array of plugins and associated subcommands
|
|
||||||
# Order here is same as PLUGIN_OBJS in Makefile
|
|
||||||
-typeset -A _plugin_subcmds
|
|
||||||
-readonly _plugin_subcmds=(
|
|
||||||
+typeset -Ar _plugin_subcmds=(
|
|
||||||
[intel]="id-ctrl internal-log lat-stats \
|
|
||||||
set-bucket-thresholds lat-stats-tracking \
|
|
||||||
market-name smart-log-add temp-stats"
|
|
||||||
@@ -55,8 +54,7 @@ readonly _plugin_subcmds=(
|
|
||||||
)
|
|
||||||
|
|
||||||
# Associative array mapping plugins to coresponding option completions
|
|
||||||
-typeset -A _plugin_funcs
|
|
||||||
-readonly _plugin_funcs=(
|
|
||||||
+typeset -Ar _plugin_funcs=(
|
|
||||||
[intel]="plugin_intel_opts"
|
|
||||||
[amzn]="plugin_amzn_opts"
|
|
||||||
[memblaze]="plugin_memblaze_opts"
|
|
||||||
--
|
|
||||||
2.31.1
|
|
||||||
|
|
@ -1,28 +0,0 @@
|
|||||||
From eac9f9b70081ff2df2e2ea11efb8fc6ec3754f64 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Evgeny Grin <k2k@narod.ru>
|
|
||||||
Date: Fri, 17 Jun 2022 15:00:39 +0300
|
|
||||||
Subject: [PATCH] bash-nvme-completion.sh: fixed error when sourced twice
|
|
||||||
|
|
||||||
One-line "readonly" with assignment produce error if completion file
|
|
||||||
is sourced for the second time (/etc/profile reload, su etc.)
|
|
||||||
---
|
|
||||||
completions/bash-nvme-completion.sh | 3 ++-
|
|
||||||
1 file changed, 2 insertions(+), 1 deletion(-)
|
|
||||||
|
|
||||||
diff --git a/completions/bash-nvme-completion.sh b/completions/bash-nvme-completion.sh
|
|
||||||
index e5d9ff19..7b8a2121 100644
|
|
||||||
--- a/completions/bash-nvme-completion.sh
|
|
||||||
+++ b/completions/bash-nvme-completion.sh
|
|
||||||
@@ -5,7 +5,8 @@
|
|
||||||
# Kelly Kaoudis kelly.n.kaoudis at intel.com, Aug. 2015
|
|
||||||
|
|
||||||
# Constant to indicate command has no options
|
|
||||||
-readonly NO_OPTS=""
|
|
||||||
+NO_OPTS=""
|
|
||||||
+readonly NO_OPTS
|
|
||||||
|
|
||||||
# Associative array of plugins and associated subcommands
|
|
||||||
# Order here is same as PLUGIN_OBJS in Makefile
|
|
||||||
--
|
|
||||||
2.31.1
|
|
||||||
|
|
@ -1,26 +0,0 @@
|
|||||||
From 4284d4cc299e8604f898856bdd38fc4979e56586 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Evgeny Grin <k2k@narod.ru>
|
|
||||||
Date: Fri, 17 Jun 2022 15:08:02 +0300
|
|
||||||
Subject: [PATCH] bash-nvme-completion.sh: fixed typo with seagate plugin
|
|
||||||
|
|
||||||
Obvious typo resulted in broken completion for seagete plugin
|
|
||||||
---
|
|
||||||
completions/bash-nvme-completion.sh | 2 +-
|
|
||||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
|
||||||
|
|
||||||
diff --git a/completions/bash-nvme-completion.sh b/completions/bash-nvme-completion.sh
|
|
||||||
index 7b8a2121..00593b96 100644
|
|
||||||
--- a/completions/bash-nvme-completion.sh
|
|
||||||
+++ b/completions/bash-nvme-completion.sh
|
|
||||||
@@ -940,7 +940,7 @@ plugin_micron_opts () {
|
|
||||||
return 0
|
|
||||||
}
|
|
||||||
|
|
||||||
-lugin_seagate_opts () {
|
|
||||||
+plugin_seagate_opts () {
|
|
||||||
local opts=""
|
|
||||||
local compargs=""
|
|
||||||
|
|
||||||
--
|
|
||||||
2.31.1
|
|
||||||
|
|
@ -1,13 +0,0 @@
|
|||||||
--- nvme-cli-1.9/Makefile.orig 2020-05-27 14:04:56.259961135 -0400
|
|
||||||
+++ nvme-cli-1.9/Makefile 2020-05-27 14:05:22.796185371 -0400
|
|
||||||
@@ -125,8 +125,8 @@
|
|
||||||
$(INSTALL) -m 644 -T ./etc/discovery.conf.in $(DESTDIR)$(SYSCONFDIR)/nvme/discovery.conf; \
|
|
||||||
fi
|
|
||||||
|
|
||||||
-install-spec: install-bin install-man install-bash-completion install-zsh-completion install-etc install-systemd install-udev install-dracut
|
|
||||||
-install: install-spec install-hostparams
|
|
||||||
+install-spec: install-bin install-man install-bash-completion install-zsh-completion install-systemd install-udev install-dracut
|
|
||||||
+install: install-spec
|
|
||||||
|
|
||||||
nvme.spec: nvme.spec.in NVME-VERSION-FILE
|
|
||||||
sed -e 's/@@VERSION@@/$(NVME_VERSION)/g' < $< > $@+
|
|
@ -2,26 +2,23 @@
|
|||||||
#%%global shortcommit0 %%(c=%%{commit0}; echo ${c:0:7})
|
#%%global shortcommit0 %%(c=%%{commit0}; echo ${c:0:7})
|
||||||
|
|
||||||
Name: nvme-cli
|
Name: nvme-cli
|
||||||
Version: 2.0
|
Version: 2.1.2
|
||||||
Release: 4%{?dist}
|
Release: 1%{?dist}
|
||||||
Summary: NVMe management command line interface
|
Summary: NVMe management command line interface
|
||||||
|
|
||||||
License: GPLv2+
|
License: GPLv2+
|
||||||
URL: https://github.com/linux-nvme/nvme-cli
|
URL: https://github.com/linux-nvme/nvme-cli
|
||||||
Source0: %{url}/archive/v%{version}/%{name}-%{version}.tar.gz
|
Source0: %{url}/archive/v%{version}/%{name}-%{version}.tar.gz
|
||||||
|
|
||||||
#Patch0: nvme-cli-makefile-dont-install-host-params-patch
|
Patch0: 0001-nvme-print-Handle-NULL-hostid-in-JSON-output.patch
|
||||||
Patch0: 0001-nvme-Return-status-error-code-for-effects-log-comman.patch
|
|
||||||
Patch1: 0002-completions-Collapse-declaration-and-attribute-assig.patch
|
|
||||||
Patch2: 0003-bash-nvme-completion.sh-fixed-error-when-sourced-twi.patch
|
|
||||||
Patch3: 0004-bash-nvme-completion.sh-fixed-typo-with-seagate-plug.patch
|
|
||||||
|
|
||||||
BuildRequires: meson >= 0.47.0
|
BuildRequires: meson >= 0.47.0
|
||||||
BuildRequires: gcc gcc-c++
|
BuildRequires: gcc gcc-c++
|
||||||
BuildRequires: libuuid-devel
|
BuildRequires: libuuid-devel
|
||||||
BuildRequires: systemd-devel
|
BuildRequires: systemd-devel
|
||||||
|
BuildRequires: systemd-rpm-macros
|
||||||
BuildRequires: zlib-devel
|
BuildRequires: zlib-devel
|
||||||
BuildRequires: libnvme-devel >= 1.0
|
BuildRequires: libnvme-devel >= 1.1
|
||||||
BuildRequires: json-c-devel >= 0.14
|
BuildRequires: json-c-devel >= 0.14
|
||||||
BuildRequires: asciidoc
|
BuildRequires: asciidoc
|
||||||
BuildRequires: xmlto
|
BuildRequires: xmlto
|
||||||
@ -36,9 +33,6 @@ nvme-cli provides NVM-Express user space tooling for Linux.
|
|||||||
%setup -q
|
%setup -q
|
||||||
|
|
||||||
%patch0 -p1
|
%patch0 -p1
|
||||||
%patch1 -p1
|
|
||||||
%patch2 -p1
|
|
||||||
%patch3 -p1
|
|
||||||
|
|
||||||
%build
|
%build
|
||||||
%meson -Dudevrulesdir=%{_udevrulesdir} -Dsystemddir=%{_unitdir} -Ddocs=all -Ddocs-build=true -Dhtmldir=%{_pkgdocdir}
|
%meson -Dudevrulesdir=%{_udevrulesdir} -Dsystemddir=%{_unitdir} -Ddocs=all -Ddocs-build=true -Dhtmldir=%{_pkgdocdir}
|
||||||
@ -95,6 +89,9 @@ if [ $1 -eq 1 ] || [ $1 -eq 2 ]; then
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Mon Sep 26 2022 Maurizio Lombardi <mlombard@redhat.com> - 2.1.2-1
|
||||||
|
- Update to version v2.1.2
|
||||||
|
|
||||||
* Fri Aug 29 2022 Maurizio Lombardi <mlombard@redhat.com> - 2.0-4
|
* Fri Aug 29 2022 Maurizio Lombardi <mlombard@redhat.com> - 2.0-4
|
||||||
- Fix BZ2104945
|
- Fix BZ2104945
|
||||||
|
|
||||||
|
2
sources
2
sources
@ -1 +1 @@
|
|||||||
SHA512 (nvme-cli-2.0.tar.gz) = 24a00ee8e0fc963c1757797413ff5725cec18f821a714d6bbbf37906010d72934d6fdd7b466c085f13716a5279d1a7bd3254ee474e37a0ecd00a85ef23e12417
|
SHA512 (nvme-cli-2.1.2.tar.gz) = 2162a6967a221a4ae7e0261748c26a10ff43d5b592039e29578d8310cf176428d528c2d510c0b58419b70bd6d28f4d2c77f0cd27606d87079c64289d5d14f930
|
||||||
|
Loading…
Reference in New Issue
Block a user