diff --git a/.gitignore b/.gitignore index f196bae..fc68fce 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1 @@ -SOURCES/v1.8.1.tar.gz +SOURCES/v1.12.tar.gz diff --git a/.nvme-cli.metadata b/.nvme-cli.metadata index e375033..a1de130 100644 --- a/.nvme-cli.metadata +++ b/.nvme-cli.metadata @@ -1 +1 @@ -349affaf735fe14a8f8f4f48238d357d712aba40 SOURCES/v1.8.1.tar.gz +ec24fdc3944cff338170f8a98e95e9ebe90463f2 SOURCES/v1.12.tar.gz diff --git a/SOURCES/nvme-cli-fix-typo-removing-dup-are-patch b/SOURCES/nvme-cli-fix-typo-removing-dup-are-patch deleted file mode 100644 index c147705..0000000 --- a/SOURCES/nvme-cli-fix-typo-removing-dup-are-patch +++ /dev/null @@ -1,21 +0,0 @@ -commit 0c2fef91167a8a18b00a295cc6111fd874c8aa22 -Author: Simon Schricker -Date: Thu Apr 11 11:23:16 2019 +0200 - - nvme-cli: fix typo, removing the duplicate 'are' - - Signed-off-by: Simon Schricker - -diff --git a/Documentation/nvme-netapp-ontapdevices.txt b/Documentation/nvme-netapp-ontapdevices.txt -index 8eaa73f..c292758 100644 ---- a/Documentation/nvme-netapp-ontapdevices.txt -+++ b/Documentation/nvme-netapp-ontapdevices.txt -@@ -13,7 +13,7 @@ SYNOPSIS - DESCRIPTION - ----------- - Display information about ONTAP devices on the host. The ONTAP devices are --are identified using the Identify Controller data. -+identified using the Identify Controller data. - - OPTIONS - ------- diff --git a/SOURCES/nvme-cli-makefile-dont-install-host-params-patch b/SOURCES/nvme-cli-makefile-dont-install-host-params-patch new file mode 100644 index 0000000..b86149e --- /dev/null +++ b/SOURCES/nvme-cli-makefile-dont-install-host-params-patch @@ -0,0 +1,13 @@ +--- 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' < $< > $@+ diff --git a/SOURCES/nvme-cli-regen-docs-patch b/SOURCES/nvme-cli-regen-docs-patch deleted file mode 100644 index 5c8ddd4..0000000 --- a/SOURCES/nvme-cli-regen-docs-patch +++ /dev/null @@ -1,153 +0,0 @@ -commit 87438229b1dbbbce599cf24a820665abc571a5dc -Author: Keith Busch -Date: Mon Apr 15 08:38:14 2019 -0600 - - Regen docs - - Signed-off-by: Keith Busch - -diff --git a/Documentation/nvme-connect-all.1 b/Documentation/nvme-connect-all.1 -index 07fa229..2d79d41 100644 ---- a/Documentation/nvme-connect-all.1 -+++ b/Documentation/nvme-connect-all.1 -@@ -2,12 +2,12 @@ - .\" Title: nvme-connect-all - .\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author] - .\" Generator: DocBook XSL Stylesheets vsnapshot --.\" Date: 04/08/2019 -+.\" Date: 04/15/2019 - .\" Manual: NVMe Manual - .\" Source: NVMe - .\" Language: English - .\" --.TH "NVME\-CONNECT\-ALL" "1" "04/08/2019" "NVMe" "NVMe Manual" -+.TH "NVME\-CONNECT\-ALL" "1" "04/15/2019" "NVMe" "NVMe Manual" - .\" ----------------------------------------------------------------- - .\" * Define some portability stuff - .\" ----------------------------------------------------------------- -diff --git a/Documentation/nvme-connect.1 b/Documentation/nvme-connect.1 -index 2b2b80d..2e20942 100644 ---- a/Documentation/nvme-connect.1 -+++ b/Documentation/nvme-connect.1 -@@ -2,12 +2,12 @@ - .\" Title: nvme-connect - .\" Author: [see the "AUTHORS" section] - .\" Generator: DocBook XSL Stylesheets vsnapshot --.\" Date: 04/08/2019 -+.\" Date: 04/15/2019 - .\" Manual: NVMe Manual - .\" Source: NVMe - .\" Language: English - .\" --.TH "NVME\-CONNECT" "1" "04/08/2019" "NVMe" "NVMe Manual" -+.TH "NVME\-CONNECT" "1" "04/15/2019" "NVMe" "NVMe Manual" - .\" ----------------------------------------------------------------- - .\" * Define some portability stuff - .\" ----------------------------------------------------------------- -diff --git a/Documentation/nvme-disconnect.1 b/Documentation/nvme-disconnect.1 -index 450484e..8ab10c8 100644 ---- a/Documentation/nvme-disconnect.1 -+++ b/Documentation/nvme-disconnect.1 -@@ -2,12 +2,12 @@ - .\" Title: nvme-disconnect - .\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author] - .\" Generator: DocBook XSL Stylesheets vsnapshot --.\" Date: 04/08/2019 -+.\" Date: 04/15/2019 - .\" Manual: NVMe Manual - .\" Source: NVMe - .\" Language: English - .\" --.TH "NVME\-DISCONNECT" "1" "04/08/2019" "NVMe" "NVMe Manual" -+.TH "NVME\-DISCONNECT" "1" "04/15/2019" "NVMe" "NVMe Manual" - .\" ----------------------------------------------------------------- - .\" * Define some portability stuff - .\" ----------------------------------------------------------------- -diff --git a/Documentation/nvme-discover.1 b/Documentation/nvme-discover.1 -index 57e0804..04f13a7 100644 ---- a/Documentation/nvme-discover.1 -+++ b/Documentation/nvme-discover.1 -@@ -2,12 +2,12 @@ - .\" Title: nvme-discover - .\" Author: [see the "AUTHORS" section] - .\" Generator: DocBook XSL Stylesheets vsnapshot --.\" Date: 04/08/2019 -+.\" Date: 04/15/2019 - .\" Manual: NVMe Manual - .\" Source: NVMe - .\" Language: English - .\" --.TH "NVME\-DISCOVER" "1" "04/08/2019" "NVMe" "NVMe Manual" -+.TH "NVME\-DISCOVER" "1" "04/15/2019" "NVMe" "NVMe Manual" - .\" ----------------------------------------------------------------- - .\" * Define some portability stuff - .\" ----------------------------------------------------------------- -diff --git a/Documentation/nvme-netapp-ontapdevices.1 b/Documentation/nvme-netapp-ontapdevices.1 -index 94c4ac2..b74b7db 100644 ---- a/Documentation/nvme-netapp-ontapdevices.1 -+++ b/Documentation/nvme-netapp-ontapdevices.1 -@@ -2,12 +2,12 @@ - .\" Title: nvme-netapp-ontapdevices - .\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author] - .\" Generator: DocBook XSL Stylesheets vsnapshot --.\" Date: 04/08/2019 -+.\" Date: 04/15/2019 - .\" Manual: NVMe Manual - .\" Source: NVMe - .\" Language: English - .\" --.TH "NVME\-NETAPP\-ONTAPD" "1" "04/08/2019" "NVMe" "NVMe Manual" -+.TH "NVME\-NETAPP\-ONTAPD" "1" "04/15/2019" "NVMe" "NVMe Manual" - .\" ----------------------------------------------------------------- - .\" * Define some portability stuff - .\" ----------------------------------------------------------------- -@@ -36,7 +36,7 @@ nvme-netapp-ontapdevices \- Display information about ONTAP devices - .fi - .SH "DESCRIPTION" - .sp --Display information about ONTAP devices on the host\&. The ONTAP devices are are identified using the Identify Controller data\&. -+Display information about ONTAP devices on the host\&. The ONTAP devices are identified using the Identify Controller data\&. - .SH "OPTIONS" - .PP - \-o , \-\-output\-format= -diff --git a/Documentation/nvme-netapp-ontapdevices.html b/Documentation/nvme-netapp-ontapdevices.html -index 7bf1ca0..29f4bda 100644 ---- a/Documentation/nvme-netapp-ontapdevices.html -+++ b/Documentation/nvme-netapp-ontapdevices.html -@@ -755,7 +755,7 @@ nvme-netapp-ontapdevices(1) Manual Page -

DESCRIPTION

-
-

Display information about ONTAP devices on the host. The ONTAP devices are --are identified using the Identify Controller data.

-+identified using the Identify Controller data.

- - -
-@@ -803,7 +803,7 @@ Display information, in a column-based format, for ONTAP devices. -

- - -diff --git a/Documentation/nvme-show-regs.1 b/Documentation/nvme-show-regs.1 -index 4372d82..327bf9d 100644 ---- a/Documentation/nvme-show-regs.1 -+++ b/Documentation/nvme-show-regs.1 -@@ -2,12 +2,12 @@ - .\" Title: nvme-id-ns - .\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author] - .\" Generator: DocBook XSL Stylesheets vsnapshot --.\" Date: 04/08/2019 -+.\" Date: 04/15/2019 - .\" Manual: NVMe Manual - .\" Source: NVMe - .\" Language: English - .\" --.TH "NVME\-ID\-NS" "1" "04/08/2019" "NVMe" "NVMe Manual" -+.TH "NVME\-ID\-NS" "1" "04/15/2019" "NVMe" "NVMe Manual" - .\" ----------------------------------------------------------------- - .\" * Define some portability stuff - .\" ----------------------------------------------------------------- diff --git a/SOURCES/nvme-ioctl-fix-double-free-in-a-loop-of-get-property-patch b/SOURCES/nvme-ioctl-fix-double-free-in-a-loop-of-get-property-patch deleted file mode 100644 index 2a77544..0000000 --- a/SOURCES/nvme-ioctl-fix-double-free-in-a-loop-of-get-property-patch +++ /dev/null @@ -1,30 +0,0 @@ -commit d16e1d2784a48c9b25e58a0e821c737670c6cdc8 -Author: Minwoo Im -Date: Wed Apr 24 01:46:29 2019 +0100 - - ioctl: Fix double-free in a loop of get_property - - As it was reported, *pbar could be double-freed in case - get_property_helper() fails in the middle of the loop. - - This issue was reported by Ken Heitke on: - https://github.com/linux-nvme/nvme-cli/pull/471 - - Signed-off-by: Minwoo Im - -diff --git a/nvme-ioctl.c b/nvme-ioctl.c -index 4cf7aeb..16fdc66 100644 ---- a/nvme-ioctl.c -+++ b/nvme-ioctl.c -@@ -626,8 +626,10 @@ int nvme_get_properties(int fd, void **pbar) - err = get_property_helper(fd, offset, *pbar + offset, &advance); - if (!err) - ret = 0; -- else -+ else { - free(*pbar); -+ break; -+ } - } - - return ret; diff --git a/SOURCES/nvme-ioctl-fix-wrong-ret-case-of-get-prop-patch b/SOURCES/nvme-ioctl-fix-wrong-ret-case-of-get-prop-patch deleted file mode 100644 index 43ddfd0..0000000 --- a/SOURCES/nvme-ioctl-fix-wrong-ret-case-of-get-prop-patch +++ /dev/null @@ -1,44 +0,0 @@ -commit 5b7506198a6872764a51e32363e219916e1e592e -Author: Minwoo Im -Date: Wed Apr 24 01:48:58 2019 +0100 - - ioctl: Fix wrong return case of get_property - - If get_property_helper() succeeds in the first time, and then fails in - the next time, then the ret value will not be updated to an error value. - This patch removes 'ret' variable to make 'err' to return being updated - everytime get_property_helper() invoked. - - Signed-off-by: Minwoo Im - -diff --git a/nvme-ioctl.c b/nvme-ioctl.c -index 16fdc66..75bf9fa 100644 ---- a/nvme-ioctl.c -+++ b/nvme-ioctl.c -@@ -612,7 +612,7 @@ int nvme_get_property(int fd, int offset, uint64_t *value) - int nvme_get_properties(int fd, void **pbar) - { - int offset, advance; -- int err, ret = -EINVAL; -+ int err; - int size = getpagesize(); - - *pbar = malloc(size); -@@ -624,15 +624,13 @@ int nvme_get_properties(int fd, void **pbar) - memset(*pbar, 0xff, size); - for (offset = NVME_REG_CAP; offset <= NVME_REG_CMBSZ; offset += advance) { - err = get_property_helper(fd, offset, *pbar + offset, &advance); -- if (!err) -- ret = 0; -- else { -+ if (err) { - free(*pbar); - break; - } - } - -- return ret; -+ return err; - } - - int nvme_set_property(int fd, int offset, int value) diff --git a/SPECS/nvme-cli.spec b/SPECS/nvme-cli.spec index b1b8b25..33df88a 100644 --- a/SPECS/nvme-cli.spec +++ b/SPECS/nvme-cli.spec @@ -1,46 +1,51 @@ -#%global commit0 bdbb4da0979fbdc079cf98410cdb31cf799e83b3 -#%global shortcommit0 %(c=%{commit0}; echo ${c:0:7}) +#%%global commit0 bdbb4da0979fbdc079cf98410cdb31cf799e83b3 +#%%global shortcommit0 %%(c=%%{commit0}; echo ${c:0:7}) Name: nvme-cli -Version: 1.8.1 -Release: 3%{?dist} +Version: 1.12 +Release: 2%{?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/%%{commit0}.tar.gz Source0: https://github.com/linux-nvme/%{name}/archive/v%{version}.tar.gz -Patch0: nvme-cli-fix-typo-removing-dup-are-patch -Patch1: nvme-cli-regen-docs-patch -Patch2: nvme-ioctl-fix-double-free-in-a-loop-of-get-property-patch -Patch3: nvme-ioctl-fix-wrong-ret-case-of-get-prop-patch +Patch0: nvme-cli-makefile-dont-install-host-params-patch -BuildRequires: libuuid-devel -BuildRequires: gcc +BuildRequires: libuuid-devel +BuildRequires: gcc +BuildRequires: systemd-devel %description nvme-cli provides NVM-Express user space tooling for Linux. %prep -#%setup -qn %{name}-%{commit0} -%setup +#%%setup -qn %%{name}-%%{commit0} +%setup -q %patch0 -p1 -%patch1 -p1 -%patch2 -p1 -%patch3 -p1 + %build -# NB: the -I. part works around a bug fixed up stream by commit 254bcd6b2343 -# ("Fix CFLAGS parameter"). Rather than patching the fix in, I just added -# an extra -I. In the next release, we should be able to drop this hack. -make PREFIX=/usr CFLAGS="%{optflags} -std=c99 -I." LDFLAGS="%{__global_ldflags}" %{?_smp_mflags} + +# 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 +%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 @@ -50,37 +55,50 @@ mkdir -p %{buildroot}%{_sysconfdir}/nvme %{_datadir}/bash-completion/completions/nvme %{_datadir}/zsh/site-functions/_nvme %dir %{_sysconfdir}/nvme - -%clean -rm -rf $RPM_BUILD_ROOT +%{_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 = 1 ]; then # 1 : This package is being installed for the first time - if [ ! -f /etc/nvme/hostnqn ]; then - install -D /dev/null /etc/nvme/hostnqn - echo $(nvme gen-hostnqn) > /etc/nvme/hostnqn - chmod 644 /etc/nvme/hostnqn +if [ $1 -eq 1 ] || [ $1 -eq 2 ]; then + if [ ! -s %{_sysconfdir}/nvme/hostnqn ]; then + echo $(nvme gen-hostnqn) > %{_sysconfdir}/nvme/hostnqn fi - if [ ! -f /etc/nvme/hostid ]; then - uuidgen > /etc/nvme/hostid + if [ ! -s %{_sysconfdir}/nvme/hostid ]; then + uuidgen > %{_sysconfdir}/nvme/hostid fi -fi -%preun -if [ -d /etc/nvme ]; then - rm -f /etc/nvme/hostnqn - rm -f /etc/nvme/hostid - if [ ! -n "`ls -A /etc/nvme`" ]; then - rm -rf /etc/nvme - 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 -* Tue May 08 2019 dmilburn@redhat.com - 1.8.1-3 -- Fix show_regs over RDMA with get_prop fix. +* Tue Jun 16 2020 Fedora Release Monitoring - 1.12-1 +- Update to 1.12 (#1827581) -* Mon Apr 29 2019 dmilburn@redhat.com - 1.8.1-2 -- Fix show_regs with upstream ioctl fix. +* 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 - 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 - 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. @@ -93,8 +111,8 @@ fi - Bump to 1.7 - Clean up some trivial rpmlint complaints -* Tue Oct 16 2018 dmilburn@redhat.com - 1.6-2 -- Pull in upstream fixes +* Fri Feb 01 2019 Fedora Release Engineering - 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