import nvme-cli-1.9-5.el8
This commit is contained in:
commit
1031f86cfe
1
.gitignore
vendored
Normal file
1
.gitignore
vendored
Normal file
@ -0,0 +1 @@
|
|||||||
|
SOURCES/v1.9.tar.gz
|
1
.nvme-cli.metadata
Normal file
1
.nvme-cli.metadata
Normal file
@ -0,0 +1 @@
|
|||||||
|
e3604335030f745be0a7276c4f9064e31916714e SOURCES/v1.9.tar.gz
|
24
SOURCES/fix-systemd-service-script-use-connect-args-patch
Normal file
24
SOURCES/fix-systemd-service-script-use-connect-args-patch
Normal file
@ -0,0 +1,24 @@
|
|||||||
|
commit 57315578d9e500dae5143dbda607dcadc933c545
|
||||||
|
Author: James Smart <jsmart2021@gmail.com>
|
||||||
|
Date: Tue Jan 7 10:02:57 2020 -0700
|
||||||
|
|
||||||
|
Fix systemd service script use of CONNECT_ARGS env var
|
||||||
|
|
||||||
|
In testing, some environments are not properly expanding CONNECT_ARGS.
|
||||||
|
|
||||||
|
Change systemd service file use of CONNECT_ARGS to be encapsulated by
|
||||||
|
apostrophes and parens.
|
||||||
|
|
||||||
|
Signed-off-by: James Smart <jsmart2021@gmail.com>
|
||||||
|
Signed-off-by: Keith Busch <kbusch@kernel.org>
|
||||||
|
|
||||||
|
diff --git a/nvmf-autoconnect/systemd/nvmf-connect@.service b/nvmf-autoconnect/systemd/nvmf-connect@.service
|
||||||
|
index 10fb3aa..c60f146 100644
|
||||||
|
--- a/nvmf-autoconnect/systemd/nvmf-connect@.service
|
||||||
|
+++ b/nvmf-autoconnect/systemd/nvmf-connect@.service
|
||||||
|
@@ -11,4 +11,4 @@ Requires=nvmf-connect.target
|
||||||
|
[Service]
|
||||||
|
Type=simple
|
||||||
|
Environment="CONNECT_ARGS=%i"
|
||||||
|
-ExecStart=/bin/sh -c "nvme connect-all --quiet `/bin/echo -e $CONNECT_ARGS`"
|
||||||
|
+ExecStart=/bin/sh -c "nvme connect-all --quiet `/bin/echo -e '${CONNECT_ARGS}'`"
|
@ -0,0 +1,22 @@
|
|||||||
|
commit ca9a2ec103003d1377c45d49452c457194ad27db
|
||||||
|
Author: Simon Schricker <sschricker@suse.de>
|
||||||
|
Date: Fri Nov 29 10:52:05 2019 +0100
|
||||||
|
|
||||||
|
nvme-cli: Check for sysfs interface before NVMe discovery
|
||||||
|
|
||||||
|
This prevents an unnecessary error message in the case that the nvme-fc
|
||||||
|
kernel module is not loaded and the
|
||||||
|
/sys/class/fc/fc_udev_device/nvme_discovery
|
||||||
|
handle is not available.
|
||||||
|
|
||||||
|
diff --git a/nvmf-autoconnect/systemd/nvmefc-boot-connections.service b/nvmf-autoconnect/systemd/nvmefc-boot-connections.service
|
||||||
|
index 84f6486..33ab8c1 100644
|
||||||
|
--- a/nvmf-autoconnect/systemd/nvmefc-boot-connections.service
|
||||||
|
+++ b/nvmf-autoconnect/systemd/nvmefc-boot-connections.service
|
||||||
|
@@ -1,5 +1,6 @@
|
||||||
|
[Unit]
|
||||||
|
Description=Auto-connect to subsystems on FC-NVME devices found during boot
|
||||||
|
+ConditionPathExists=/sys/class/fc/fc_udev_device/nvme_discovery
|
||||||
|
|
||||||
|
[Service]
|
||||||
|
Type=oneshot
|
@ -0,0 +1,15 @@
|
|||||||
|
commit 6eafcf96f315d6ae7be5fa8332131c4cc487d5df
|
||||||
|
Author: Simon Schricker <sschricker@suse.de>
|
||||||
|
Date: Tue Dec 17 10:49:35 2019 +0100
|
||||||
|
|
||||||
|
nvmf-autoconnect: add udev rules to set iopolicy for certain NetApp devices
|
||||||
|
|
||||||
|
diff --git a/nvmf-autoconnect/udev-rules/71-nvmf-iopolicy-netapp.rules b/nvmf-autoconnect/udev-rules/71-nvmf-iopolicy-netapp.rules
|
||||||
|
new file mode 100644
|
||||||
|
index 0000000..aefd9d4
|
||||||
|
--- /dev/null
|
||||||
|
+++ b/nvmf-autoconnect/udev-rules/71-nvmf-iopolicy-netapp.rules
|
||||||
|
@@ -0,0 +1,3 @@
|
||||||
|
+# Enable round-robin for NetApp ONTAP and NetApp E-Series
|
||||||
|
+ACTION=="add", SUBSYSTEM=="nvme-subsystem", ATTR{model}=="NetApp ONTAP Controller", ATTR{iopolicy}="round-robin"
|
||||||
|
+ACTION=="add", SUBSYSTEM=="nvme-subsystem", ATTR{model}=="NetApp E-Series", ATTR{iopolicy}="round-robin"
|
27
SOURCES/nvmf-autoconnect-fix-abls-path-systemctl-patch
Normal file
27
SOURCES/nvmf-autoconnect-fix-abls-path-systemctl-patch
Normal file
@ -0,0 +1,27 @@
|
|||||||
|
commit 177d12ec112ab370d91b7129a33d2da43b809203
|
||||||
|
Author: Sagi Grimberg <sagi@grimberg.me>
|
||||||
|
Date: Thu Aug 22 15:09:36 2019 -0700
|
||||||
|
|
||||||
|
nvmf-autoconnect: fix absolute path for systemctl
|
||||||
|
|
||||||
|
Without the absolute path udev gets the error:
|
||||||
|
failed to execute '/lib/udev/systemctl' 'systemctl --no-block start nvmf-connect@[...].service': No such file or directory
|
||||||
|
|
||||||
|
Signed-off-by: Sagi Grimberg <sagi@grimberg.me>
|
||||||
|
|
||||||
|
diff --git a/nvmf-autoconnect/udev-rules/70-nvmf-autoconnect.rules b/nvmf-autoconnect/udev-rules/70-nvmf-autoconnect.rules
|
||||||
|
index 789a2c8..c909fb0 100644
|
||||||
|
--- a/nvmf-autoconnect/udev-rules/70-nvmf-autoconnect.rules
|
||||||
|
+++ b/nvmf-autoconnect/udev-rules/70-nvmf-autoconnect.rules
|
||||||
|
@@ -9,9 +9,9 @@
|
||||||
|
ACTION=="change", SUBSYSTEM=="nvme", ENV{NVME_EVENT}=="discovery",\
|
||||||
|
ENV{NVME_CTRL_NAME}=="*", ENV{NVME_TRTYPE}=="*", ENV{NVME_TRADDR}=="*", \
|
||||||
|
ENV{NVME_TRSVCID}=="*", ENV{NVME_HOST_TRADDR}=="*", \
|
||||||
|
- RUN+="systemctl --no-block start nvmf-connect@--device=$env{NVME_CTRL_NAME}\t--transport=$env{NVME_TRTYPE}\t--traddr=$env{NVME_TRADDR}\t--trsvcid=$env{NVME_TRSVCID}\t--host-traddr=$env{NVME_HOST_TRADDR}.service"
|
||||||
|
+ RUN+="/bin/systemctl --no-block start nvmf-connect@--device=$env{NVME_CTRL_NAME}\t--transport=$env{NVME_TRTYPE}\t--traddr=$env{NVME_TRADDR}\t--trsvcid=$env{NVME_TRSVCID}\t--host-traddr=$env{NVME_HOST_TRADDR}.service"
|
||||||
|
|
||||||
|
# nvme-fc transport generated events (old-style for compatibility)
|
||||||
|
ACTION=="change", SUBSYSTEM=="fc", ENV{FC_EVENT}=="nvmediscovery", \
|
||||||
|
ENV{NVMEFC_HOST_TRADDR}=="*", ENV{NVMEFC_TRADDR}=="*", \
|
||||||
|
- RUN+="systemctl --no-block start nvmf-connect@--device=none\t--transport=fc\t--traddr=$env{NVMEFC_TRADDR}\t--trsvcid=none\t--host-traddr=$env{NVMEFC_HOST_TRADDR}.service"
|
||||||
|
+ RUN+="/bin/systemctl --no-block start nvmf-connect@--device=none\t--transport=fc\t--traddr=$env{NVMEFC_TRADDR}\t--trsvcid=none\t--host-traddr=$env{NVMEFC_HOST_TRADDR}.service"
|
59
SOURCES/systemd-fix-echo-call-with-absolute-path-patch
Normal file
59
SOURCES/systemd-fix-echo-call-with-absolute-path-patch
Normal file
@ -0,0 +1,59 @@
|
|||||||
|
commit 0451499b82813b6aefa30519bdd26459a6dd7c58
|
||||||
|
Author: Sagi Grimberg <sagi@grimberg.me>
|
||||||
|
Date: Thu Aug 22 15:09:37 2019 -0700
|
||||||
|
|
||||||
|
systemd: fix echo call with absolute path
|
||||||
|
|
||||||
|
Without placing the absolute path when formatting the
|
||||||
|
nvme connect-all args we can get the following error:
|
||||||
|
--
|
||||||
|
connect-all: unrecognized option '-e'
|
||||||
|
Discover NVMeoF subsystems and connect to them [ --transport=<LIST>, -t <LIST> ] --- transport type
|
||||||
|
[ --traddr=<LIST>, -a <LIST> ] --- transport address
|
||||||
|
[ --trsvcid=<LIST>, -s <LIST> ] --- transport service id (e.g. IP
|
||||||
|
port)
|
||||||
|
[ --host-traddr=<LIST>, -w <LIST> ] --- host traddr (e.g. FC WWN's)
|
||||||
|
[ --hostnqn=<LIST>, -q <LIST> ] --- user-defined hostnqn (if default
|
||||||
|
not used)
|
||||||
|
[ --hostid=<LIST>, -I <LIST> ] --- user-defined hostid (if default
|
||||||
|
not used)
|
||||||
|
[ --raw=<LIST>, -r <LIST> ] --- raw output file
|
||||||
|
[ --device=<LIST>, -d <LIST> ] --- use existing discovery controller
|
||||||
|
device
|
||||||
|
[ --keep-alive-tmo=<LIST>, -k <LIST> ] --- keep alive timeout period in
|
||||||
|
seconds
|
||||||
|
[ --reconnect-delay=<LIST>, -c <LIST> ] --- reconnect timeout period in
|
||||||
|
seconds
|
||||||
|
[ --ctrl-loss-tmo=<LIST>, -l <LIST> ] --- controller loss timeout period in
|
||||||
|
seconds
|
||||||
|
[ --hdr_digest, -g ] --- enable transport protocol header
|
||||||
|
digest (TCP transport)
|
||||||
|
[ --data_digest, -G ] --- enable transport protocol data
|
||||||
|
digest (TCP transport)
|
||||||
|
[ --nr-io-queues=<LIST>, -i <LIST> ] --- number of io queues to use
|
||||||
|
(default is core count)
|
||||||
|
[ --nr-write-queues=<LIST>, -W <LIST> ] --- number of write queues to use
|
||||||
|
(default 0)
|
||||||
|
[ --nr-poll-queues=<LIST>, -P <LIST> ] --- number of poll queues to use
|
||||||
|
(default 0)
|
||||||
|
[ --queue-size=<LIST>, -Q <LIST> ] --- number of io queue elements to
|
||||||
|
use (default 128)
|
||||||
|
[ --persistent, -p ] --- persistent discovery connection
|
||||||
|
[ --quiet, -Q ] --- suppress already connected errors
|
||||||
|
Usage: nvme connect-all <device> [OPTIONS]
|
||||||
|
Options:
|
||||||
|
: nvmf-connect@--device\x3dnvme0\t--transport\x3dtcp\t--traddr\x3d192.168.123.1\t--trsvcid\x3d8009\t--host-traddr\x3dnone.service: Main process exited, code=exited, status=70/n/a
|
||||||
|
: nvmf-connect@--device\x3dnvme0\t--transport\x3dtcp\t--traddr\x3d192.168.123.1\t--trsvcid\x3d8009\t--host-traddr\x3dnone.service: Failed with result 'exit-code'.
|
||||||
|
|
||||||
|
Signed-off-by: Sagi Grimberg <sagi@grimberg.me>
|
||||||
|
|
||||||
|
diff --git a/nvmf-autoconnect/systemd/nvmf-connect@.service b/nvmf-autoconnect/systemd/nvmf-connect@.service
|
||||||
|
index 25dca0e..10fb3aa 100644
|
||||||
|
--- a/nvmf-autoconnect/systemd/nvmf-connect@.service
|
||||||
|
+++ b/nvmf-autoconnect/systemd/nvmf-connect@.service
|
||||||
|
@@ -11,4 +11,4 @@ Requires=nvmf-connect.target
|
||||||
|
[Service]
|
||||||
|
Type=simple
|
||||||
|
Environment="CONNECT_ARGS=%i"
|
||||||
|
-ExecStart=/bin/sh -c "nvme connect-all --quiet `echo -e $CONNECT_ARGS`"
|
||||||
|
+ExecStart=/bin/sh -c "nvme connect-all --quiet `/bin/echo -e $CONNECT_ARGS`"
|
171
SPECS/nvme-cli.spec
Normal file
171
SPECS/nvme-cli.spec
Normal file
@ -0,0 +1,171 @@
|
|||||||
|
#%%global commit0 bdbb4da0979fbdc079cf98410cdb31cf799e83b3
|
||||||
|
#%%global shortcommit0 %%(c=%%{commit0}; echo ${c:0:7})
|
||||||
|
|
||||||
|
Name: nvme-cli
|
||||||
|
Version: 1.9
|
||||||
|
Release: 5%{?dist}
|
||||||
|
Summary: NVMe management command line interface
|
||||||
|
|
||||||
|
License: GPLv2+
|
||||||
|
URL: https://github.com/linux-nvme/nvme-cli
|
||||||
|
#Source0: https://github.com/linux-nvme/%%{name}/archive/%%{commit0}.tar.gz
|
||||||
|
Source0: https://github.com/linux-nvme/%{name}/archive/v%{version}.tar.gz
|
||||||
|
|
||||||
|
Patch0: nvmf-autoconnect-fix-abls-path-systemctl-patch
|
||||||
|
Patch1: systemd-fix-echo-call-with-absolute-path-patch
|
||||||
|
Patch2: nvme-cli-check-sysfs-interface-before-nvme-disc-patch
|
||||||
|
Patch3: nvmf-autoconnect-add-udev-rules-to-set-iopolicy-netapp-patch
|
||||||
|
Patch4: fix-systemd-service-script-use-connect-args-patch
|
||||||
|
|
||||||
|
BuildRequires: libuuid-devel
|
||||||
|
BuildRequires: gcc
|
||||||
|
BuildRequires: systemd
|
||||||
|
|
||||||
|
%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
|
||||||
|
%patch4 -p1
|
||||||
|
|
||||||
|
%build
|
||||||
|
|
||||||
|
# CFLAGS on the command line breaks the build. It works okay as an
|
||||||
|
# environment variable, though. See:
|
||||||
|
# https://github.com/linux-nvme/nvme-cli/pull/480
|
||||||
|
CFLAGS="%{optflags}" make PREFIX=/usr LDFLAGS="%{__global_ldflags}" %{?_smp_mflags}
|
||||||
|
|
||||||
|
|
||||||
|
%install
|
||||||
|
%make_install PREFIX=/usr UDEVDIR="%{_udevrulesdir}/.." SYSTEMDDIR="%{_unitdir}/.."
|
||||||
|
mkdir -p %{buildroot}%{_sysconfdir}/nvme
|
||||||
|
|
||||||
|
# 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
|
||||||
|
|
||||||
|
|
||||||
|
%files
|
||||||
|
%license LICENSE
|
||||||
|
%doc README.md
|
||||||
|
%{_sbindir}/nvme
|
||||||
|
%{_mandir}/man1/nvme*.gz
|
||||||
|
%{_datadir}/bash-completion/completions/nvme
|
||||||
|
%{_datadir}/zsh/site-functions/_nvme
|
||||||
|
%dir %{_sysconfdir}/nvme
|
||||||
|
%{_sysconfdir}/nvme/hostnqn
|
||||||
|
%{_sysconfdir}/nvme/hostid
|
||||||
|
%{_sysconfdir}/nvme/discovery.conf
|
||||||
|
%{_unitdir}/nvmefc-boot-connections.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 ]; then # 1 : This package is being installed for the first time
|
||||||
|
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
|
||||||
|
fi
|
||||||
|
|
||||||
|
%changelog
|
||||||
|
* 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
Block a user