diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..cedd5a8
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1 @@
+SOURCES/v1.14.tar.gz
diff --git a/.nvme-cli.metadata b/.nvme-cli.metadata
new file mode 100644
index 0000000..5ba5ed1
--- /dev/null
+++ b/.nvme-cli.metadata
@@ -0,0 +1 @@
+0cdeb36c3a661104f49617fb1b625edab18234b2 SOURCES/v1.14.tar.gz
diff --git a/SOURCES/0001-default-flush-to-use-block-device-nsid.patch b/SOURCES/0001-default-flush-to-use-block-device-nsid.patch
new file mode 100644
index 0000000..1505fef
--- /dev/null
+++ b/SOURCES/0001-default-flush-to-use-block-device-nsid.patch
@@ -0,0 +1,33 @@
+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
+
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/SPECS/nvme-cli.spec b/SPECS/nvme-cli.spec
new file mode 100644
index 0000000..38acf08
--- /dev/null
+++ b/SPECS/nvme-cli.spec
@@ -0,0 +1,189 @@
+#%%global commit0 bdbb4da0979fbdc079cf98410cdb31cf799e83b3
+#%%global shortcommit0 %%(c=%%{commit0}; echo ${c:0:7})
+
+Name:           nvme-cli
+Version:        1.14
+Release:        3%{?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/v%{version}.tar.gz
+
+Patch0:         nvme-cli-makefile-dont-install-host-params-patch
+Patch1:         0001-default-flush-to-use-block-device-nsid.patch
+
+BuildRequires:  libuuid-devel
+BuildRequires:  gcc
+BuildRequires:  systemd-devel
+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
+
+
+%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
+%{_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
+* 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 2020 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.