commit
52cbdf18c2
@ -0,0 +1 @@
|
||||
SOURCES/nvme-cli-2.0.tar.gz
|
@ -0,0 +1 @@
|
||||
ba824c8c79b2f5bbe77f3940481981ef02fa9787 SOURCES/nvme-cli-2.0.tar.gz
|
@ -0,0 +1,102 @@
|
||||
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
|
||||
|
@ -0,0 +1,69 @@
|
||||
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
|
||||
|
@ -0,0 +1,28 @@
|
||||
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
|
||||
|
@ -0,0 +1,26 @@
|
||||
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
|
||||
|
@ -0,0 +1,222 @@
|
||||
#%%global commit0 bdbb4da0979fbdc079cf98410cdb31cf799e83b3
|
||||
#%%global shortcommit0 %%(c=%%{commit0}; echo ${c:0:7})
|
||||
|
||||
Name: nvme-cli
|
||||
Version: 2.0
|
||||
Release: 4%{?dist}
|
||||
Summary: NVMe management command line interface
|
||||
|
||||
License: GPLv2+
|
||||
URL: https://github.com/linux-nvme/nvme-cli
|
||||
Source0: %{url}/archive/v%{version}/%{name}-%{version}.tar.gz
|
||||
|
||||
#Patch0: nvme-cli-makefile-dont-install-host-params-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: gcc gcc-c++
|
||||
BuildRequires: libuuid-devel
|
||||
BuildRequires: systemd-devel
|
||||
BuildRequires: zlib-devel
|
||||
BuildRequires: libnvme-devel >= 1.0
|
||||
BuildRequires: json-c-devel >= 0.14
|
||||
BuildRequires: asciidoc
|
||||
BuildRequires: xmlto
|
||||
|
||||
Requires: util-linux
|
||||
|
||||
%description
|
||||
nvme-cli provides NVM-Express user space tooling for Linux.
|
||||
|
||||
%prep
|
||||
#%%setup -qn %%{name}-%%{commit0}
|
||||
%setup -q
|
||||
|
||||
%patch0 -p1
|
||||
%patch1 -p1
|
||||
%patch2 -p1
|
||||
%patch3 -p1
|
||||
|
||||
%build
|
||||
%meson -Dudevrulesdir=%{_udevrulesdir} -Dsystemddir=%{_unitdir} -Ddocs=all -Ddocs-build=true -Dhtmldir=%{_pkgdocdir}
|
||||
%meson_build
|
||||
|
||||
%install
|
||||
%meson_install
|
||||
|
||||
# hostid and hostnqn are supposed to be unique per machine. We obviously
|
||||
# can't package them.
|
||||
#rm -f %{buildroot}%{_sysconfdir}/nvme/hostid
|
||||
#rm -f %{buildroot}%{_sysconfdir}/nvme/hostnqn
|
||||
|
||||
# Do not install the dracut rule yet. See rhbz 1742764
|
||||
rm -f %{buildroot}/usr/lib/dracut/dracut.conf.d/70-nvmf-autoconnect.conf
|
||||
|
||||
# Move html docs into the right place
|
||||
mv %{buildroot}%{_pkgdocdir}/nvme %{buildroot}%{_pkgdocdir}/html
|
||||
rm -rf %{buildroot}%{_pkgdocdir}/nvme
|
||||
|
||||
%files
|
||||
%license LICENSE
|
||||
%doc README.md
|
||||
%doc %{_pkgdocdir}
|
||||
%{_sbindir}/nvme
|
||||
%{_mandir}/man1/nvme*.gz
|
||||
%{_datadir}/bash-completion/completions/nvme
|
||||
%{_datadir}/zsh/site-functions/_nvme
|
||||
%dir %{_sysconfdir}/nvme
|
||||
%{_sysconfdir}/nvme/discovery.conf
|
||||
%{_unitdir}/nvmefc-boot-connections.service
|
||||
%{_unitdir}/nvmf-autoconnect.service
|
||||
%{_unitdir}/nvmf-connect.target
|
||||
%{_unitdir}/nvmf-connect@.service
|
||||
%{_udevrulesdir}/70-nvmf-autoconnect.rules
|
||||
%{_udevrulesdir}/71-nvmf-iopolicy-netapp.rules
|
||||
# Do not install the dracut rule yet. See rhbz 1742764
|
||||
# /usr/lib/dracut/dracut.conf.d/70-nvmf-autoconnect.conf
|
||||
|
||||
%post
|
||||
if [ $1 -eq 1 ] || [ $1 -eq 2 ]; then
|
||||
if [ ! -s %{_sysconfdir}/nvme/hostnqn ]; then
|
||||
echo $(nvme gen-hostnqn) > %{_sysconfdir}/nvme/hostnqn
|
||||
fi
|
||||
if [ ! -s %{_sysconfdir}/nvme/hostid ]; then
|
||||
uuidgen > %{_sysconfdir}/nvme/hostid
|
||||
fi
|
||||
|
||||
# apply udev and systemd changes that we did
|
||||
systemctl enable nvmefc-boot-connections
|
||||
systemctl daemon-reload
|
||||
udevadm control --reload-rules && udevadm trigger
|
||||
exit 0
|
||||
fi
|
||||
|
||||
%changelog
|
||||
* Fri Aug 29 2022 Maurizio Lombardi <mlombard@redhat.com> - 2.0-4
|
||||
- Fix BZ2104945
|
||||
|
||||
* Fri Jul 15 2022 Maurizio Lombardi <mlombard@redhat.com> - 2.0-3
|
||||
- Fix BZ2105742
|
||||
|
||||
* Thu Jun 16 2022 Maurizio Lombardi <mlombard@redhat.com> - 2.0-2
|
||||
- Fix the gating tests
|
||||
|
||||
* Wed Apr 27 2022 Maurizio Lombardi <mlombard@redhat.com> - 2.0-1
|
||||
- Upgrade to version 2.0
|
||||
|
||||
* Mon Feb 07 2022 Maurizio Lombardi <mlombard@redhat.com> - 1.16-3
|
||||
- Add a few bugfixes
|
||||
|
||||
* 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
|
||||
|
||||
* Mon Aug 09 2021 Mohan Boddu <mboddu@redhat.com>
|
||||
- Rebuilt for IMA sigs, glibc 2.34, aarch64 flags
|
||||
Related: rhbz#1991688
|
||||
|
||||
* Mon Jun 14 2021 Maurizio Lombardi <mlombard@redhat.com> - 1.14-2
|
||||
- Fix for bz1962422 (nvme flush failed from from v5.13-rc1)
|
||||
|
||||
* Mon May 03 2021 Maurizio Lombardi <mlombard@redhat.com> - 1.14-1
|
||||
- Update to the latest upstream version
|
||||
|
||||
* Fri Apr 16 2021 Mohan Boddu <mboddu@redhat.com>
|
||||
- Rebuilt for RHEL 9 BETA on Apr 15th 2021. Related: rhbz#1947937
|
||||
|
||||
* Fri Mar 19 2021 Maurizio Lombardi <mlombard@redhat.com> - 1.12-1
|
||||
- Update to 1.13 and add postin scriptlet
|
||||
|
||||
* Sat Apr 25 2020 luto@kernel.org - 1.11.1-1
|
||||
- Update to 1.11
|
||||
|
||||
* Thu Mar 19 2020 luto@kernel.org - 1.10.1-1
|
||||
- Update to 1.10.1
|
||||
|
||||
* Wed Jan 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 1.9-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
|
||||
|
||||
* Wed Oct 02 2019 luto@kernel.org - 1.9-1
|
||||
- Update to 1.9
|
||||
- Certain fabric functionality may not work yet due to missing dracut
|
||||
support and missing hostid and hostnqn configuration.
|
||||
|
||||
* Thu Jul 25 2019 Fedora Release Engineering <releng@fedoraproject.org> - 1.8.1-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
|
||||
|
||||
* Mon Apr 15 2019 luto@kernel.org - 1.8.1-1
|
||||
- Update to 1.8.1-1.
|
||||
- Remove a build hack.
|
||||
|
||||
* Sun Feb 24 2019 luto@kernel.org - 1.7-2
|
||||
- Create /etc/nvme
|
||||
|
||||
* Sun Feb 24 2019 luto@kernel.org - 1.7-1
|
||||
- Bump to 1.7
|
||||
- Clean up some trivial rpmlint complaints
|
||||
|
||||
* Fri Feb 01 2019 Fedora Release Engineering <releng@fedoraproject.org> - 1.6-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
|
||||
|
||||
* Tue Jul 24 2018 luto@kernel.org - 1.6-1
|
||||
- Update to 1.6
|
||||
|
||||
* Fri Jul 13 2018 Fedora Release Engineering <releng@fedoraproject.org> - 1.4-5
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
|
||||
|
||||
* Thu Feb 08 2018 Fedora Release Engineering <releng@fedoraproject.org> - 1.4-4
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
|
||||
|
||||
* Wed Nov 22 2017 luto@kernel.org - 1.4-1
|
||||
- Update to 1.4
|
||||
|
||||
* Thu Aug 03 2017 Fedora Release Engineering <releng@fedoraproject.org> - 1.3-3
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
|
||||
|
||||
* Thu Jul 27 2017 Fedora Release Engineering <releng@fedoraproject.org> - 1.3-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
|
||||
|
||||
* Mon May 22 2017 luto@kernel.org - 1.3-1
|
||||
- Update to 1.3
|
||||
|
||||
* Wed Apr 19 2017 luto@kernel.org - 1.2-2
|
||||
- Update to 1.2
|
||||
- 1.2-1 never existed
|
||||
|
||||
* Sat Feb 11 2017 Fedora Release Engineering <releng@fedoraproject.org> - 1.1-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
|
||||
|
||||
* Wed Feb 01 2017 luto@kernel.org - 1.1-1
|
||||
- Update to 1.1
|
||||
|
||||
* Sun Nov 20 2016 luto@kernel.org - 1.0-1
|
||||
- Update to 1.0
|
||||
|
||||
* Mon Oct 31 2016 luto@kernel.org - 0.9-1
|
||||
- Update to 0.9
|
||||
|
||||
* Thu Jun 30 2016 luto@kernel.org - 0.8-1
|
||||
- Update to 0.8
|
||||
|
||||
* Tue May 31 2016 luto@kernel.org - 0.7-1
|
||||
- Update to 0.7
|
||||
|
||||
* Fri Mar 18 2016 luto@kernel.org - 0.5-1
|
||||
- Update to 0.5
|
||||
|
||||
* Sun Mar 06 2016 luto@kernel.org - 0.4-1
|
||||
- Update to 0.4
|
||||
|
||||
* Thu Feb 04 2016 Fedora Release Engineering <releng@fedoraproject.org> - 0.2-3.20160112gitbdbb4da
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
|
||||
|
||||
* Wed Jan 20 2016 luto@kernel.org - 0.2-2.20160112gitbdbb4da
|
||||
- Update to new upstream commit, fixing #49. "nvme list" now works.
|
||||
|
||||
* Wed Jan 13 2016 luto@kernel.org - 0.2-1.20160112gitde3e0f1
|
||||
- Initial import.
|
Loading…
Reference in new issue