Hello community,

here is the log from the commit of package nvme-cli for openSUSE:Leap:15.2 
checked in at 2020-02-14 17:58:07
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Leap:15.2/nvme-cli (Old)
 and      /work/SRC/openSUSE:Leap:15.2/.nvme-cli.new.26092 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "nvme-cli"

Fri Feb 14 17:58:07 2020 rev:52 rq:770326 version:1.10

Changes:
--------
--- /work/SRC/openSUSE:Leap:15.2/nvme-cli/nvme-cli.changes      2020-01-15 
15:34:07.102888956 +0100
+++ /work/SRC/openSUSE:Leap:15.2/.nvme-cli.new.26092/nvme-cli.changes   
2020-02-14 17:58:13.338831516 +0100
@@ -1,0 +2,136 @@
+Tue Feb  4 09:37:15 CET 2020 - h...@suse.de
+
+- Add additional smart log critical warn decoding (bsc#1161768)
+  * add 0003-Add-additional-smart-log-critical-warn-decoding.patch
+- Update patches with upstream version:
+  * delete 0101-Makefile-use-UDEVRULESDIR-instead-of-UDEVDIR.patch
+  * add 0002-Makefile-use-UDEVRULESDIR-instead-of-UDEVDIR.patch
+  * delete 0102-nvme-cli-Add-script-to-determine-host-NQN.patch
+  * add 0005-nvme-cli-Add-script-to-determine-host-NQN.patch
+- Add nvmf autoconnect service
+  * add 0004-nvmf-autoconnect.service.patch
+
+-------------------------------------------------------------------
+Tue Jan 21 07:09:17 UTC 2020 - h...@suse.com
+
+- Update to version 1.10 (jsc#SLE-7726 jsc#SLE-8339 bsc#1160329):
+  * Release v1.10
+  * Regen documentation
+  * Use asprintf for long names
+  * WDC plugin update
+  * Fix systemd service script use of CONNECT_ARGS env var
+  * Shannon Plugin update.
+  * Doc/Makefile: Introduce 'quiet' build option
+  * Makefile: use 'quiet' compile
+  * Makefile: Use special variables
+  * micron: don't ignore 'system()' return value
+  * Fix libhugetlbfs flags
+  * Regenerate documentation
+  * Micron plugin updates
+  * README.md: Mention the buildroot package
+  * nvmf-autoconnect: add udev rules to set iopolicy for certain NetApp devices
+  * Fix intel json latency statistics output format
+  * intel: Add function lat-stats to cli
+  * Fix typo (bulit -> built)
+  * Warn on admin-passthru opcode not matching read/write flag
+  * MAINT: Fix format compile warning error on 32 bit system
+  * nvme-cli: Check for sysfs interface before NVMe discovery
+  * Revert "Add Dera plugin extension."
+  * Add Dera plugin extension.
+  * Improve self test log command
+  * nvme-cli: Update err to 0 in get_telemetry_log
+  * fixup up self-test log when no test is in progress
+  * nvme-cli: Update err value to 0 in get_ns_id func.
+  * nvme.c: create-ns arguments are added
+  * [NVMe-CLI] Get DUI for SN-340 failing with Data Area 4 - Buffer 
Misalignment
+  * Minor intel-nvme print refactor
+  * Use simpler nvme ioctl api for admin
+  * Relocate functions and constants to the files that use them
+  * Move all spec defined structs to single file
+  * Update build rules for .c with no .h
+  * Makefile: fix cleaning subdirectories
+  * remove unused "paths" controller field
+  * reign in line lengths
+  * Add print for directive receive
+  * Unify print routines
+  * regenerate documentation
+  * fix fw-download reference to committing fw
+  * argconfig: Remove unused paramters
+  * fix huawei filter to search all namespaces
+  * nvme-cli: Support for hugetlbfs
+  * Remove all 'struct nvme_command' usage
+  * nvme-cli: Update PMR Capability and PMR Status
+  * nvme-cli: Update Controller Capabilities Register
+  * nvme-cli: Update NVMe Registers
+  * fixup attach-ns documentation
+  * Add files via upload
+  * Regen docs, add host-nqn man page
+  * fix namespace checks for legacy list
+  * Reset wdc_do_cap_dui default parameters to the proper values
+  * README.md: Mention the OpenEmbedded/Yocto recipe
+  * Intel plugin: Adding fields to id-ctrl VU region
+  * udev: convert the discovery event handler to the kernel support
+  * Use a systemd app-specific machine ID for hostnqn
+  * nvme-cli: Add 'transport type' error to the error log
+  * nvme-cli: Update nvme_endurance_group_log structure
+  * Adding fields to id-ctrl VU reigon for Intel DC drives
+  * Check return value of scandir
+  * nvme-cli: Add namespace-id option to self-test-log
+  * Report invalid output format for 'list' command
+  * Provide no-binary output format help text
+  * regen documentation
+  * Documentation: nvme-wdc-vs-fw-activate-history(1,html) generated
+  * nvme-cli/fabrics: Add tos param to connect cmd
+  * nvme.spec.in: fix rpm build error
+  * Correct self-test-log output
+  * nvme: Add 'Endurance Group Critical Warning Summary' to the
+  Smart/Health information Log
+  * make: install-hostparams depends on install-etc
+  * MAINT: compile warning error on 32 bit system
+  * nvme-print: fix to print ctrltype when human-readable
+  * nvme: add Persistent Memory Region(PMR) Write Elasticity Status Registers
+  * [NVMe-CLI] Fix Potential Memory Leak with vs-internal-log command.
+  * regen docs
+  * fix admin-passthru documentation typo
+  * nvme-cli: Fix namespace list output
+  * Fix builds for missing uuid
+  * Revert "remove LIBUUID things from nvme.h"
+  * Revert "nvme-cli: Fix compile on non-libuuid machines"
+  * Revert "fix uuid include typo"
+  * remove LIBUUID things from nvme.h
+  * fix build error due to asprintf()
+  * id-ctrl: show Flush command behavior in VWC
+  * fix uuid include typo
+  * nvme-cli: Fix compile on non-libuuid machines
+  * Regen docs
+  * nvme-cli: Code cleanup
+  * nvme-cli: Macro'ify argument defines
+  * nvme-cli: Code reorg
+  * [NVMe-CLI] Add support to specify file size in get DUI data for SN340.
+  * Regenerate documentation
+  * nvme-cli: Make 'list' more useful
+  * id-ctrl: show Persistent Event Log support in LPA
+  * id-ctrl: show Persistent Event Log Size(PELS)
+  * id-ctrl: show Endurance Group Maximum ID(ENDGIDMAX)
+  * id-ctrl: show FRU Globally Unique Identifier(FGUID)
+  * id-ctrl: show Controller Type(CNTRLTYPE)
+  * id-ctrl: update id-ctrl header for 1.4
+  * systemd: fix echo call with absolute path
+  * nvmf-autoconnect: fix absolute path for systemctl
+  * make: install udev rules in sysconfdir
+  * Add an example for attach-ns
+  * make: fix discovery.conf override
+  * fabrics: fix loop connect-all
+  * nvme: fix compilation error
+  * nvme-cli: Enhance format FNA detection
+  * nvme-cli: Warn and delay before formatting
+  * nvme-cli: prefill metadata buffers
+  * Fixed bash-nvme-completion.sh typo
+- Makefile: generate Dracut config according to UDEVDIR
+  * Add 0001-Makefile-generate-Dracut-config-according-to-UDEVDIR.patch
+- Makefile: use UDEVRULESDIR instead of UDEVDIR
+  * Add 0101-Makefile-use-UDEVRULESDIR-instead-of-UDEVDIR.patch
+- Dropped patch merged with upstream
+  * Delete 0101-nvme-add-iopolicy-rules-for-netapp.patch
+
+-------------------------------------------------------------------

Old:
----
  0101-nvme-add-iopolicy-rules-for-netapp.patch
  0102-nvme-cli-Add-script-to-determine-host-NQN.patch
  nvme-cli-1.9.tar.gz

New:
----
  0001-Makefile-generate-Dracut-config-according-to-UDEVDIR.patch
  0002-Makefile-use-UDEVRULESDIR-instead-of-UDEVDIR.patch
  0003-Add-additional-smart-log-critical-warn-decoding.patch
  0004-nvmf-autoconnect.service.patch
  0005-nvme-cli-Add-script-to-determine-host-NQN.patch
  nvme-cli-1.10.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ nvme-cli.spec ++++++
--- /var/tmp/diff_new_pack.zIc8xP/_old  2020-02-14 17:58:13.798831791 +0100
+++ /var/tmp/diff_new_pack.zIc8xP/_new  2020-02-14 17:58:13.806831796 +0100
@@ -17,7 +17,7 @@
 
 
 Name:           nvme-cli
-Version:        1.9
+Version:        1.10
 Release:        0
 Summary:        NVM Express user space tools
 License:        GPL-2.0-only
@@ -25,13 +25,17 @@
 URL:            https://github.com/linux-nvme/nvme-cli
 Source:         %{name}-%{version}.tar.gz
 Source2:        nvme-cli-rpmlintrc
-Patch101:       0101-nvme-add-iopolicy-rules-for-netapp.patch
-Patch102:       0102-nvme-cli-Add-script-to-determine-host-NQN.patch
+Patch1:         0001-Makefile-generate-Dracut-config-according-to-UDEVDIR.patch
+Patch2:         0002-Makefile-use-UDEVRULESDIR-instead-of-UDEVDIR.patch
+Patch3:         0003-Add-additional-smart-log-critical-warn-decoding.patch
+Patch4:         0004-nvmf-autoconnect.service.patch
+Patch5:         0005-nvme-cli-Add-script-to-determine-host-NQN.patch
 BuildRequires:  asciidoc
 BuildRequires:  libuuid-devel
 BuildRequires:  xmlto
 BuildRequires:  pkgconfig
 BuildRequires:  pkgconfig(libudev)
+BuildRequires:  systemd-devel
 %ifarch x86_64 aarch64 i586
 Requires(post): dmidecode
 %endif
@@ -53,8 +57,11 @@
 
 %prep
 %setup -q
-%patch101 -p1
-%patch102 -p1
+%patch1 -p1
+%patch2 -p1
+%patch3 -p1
+%patch4 -p1
+%patch5 -p1
 
 %build
 echo %{version} > version
@@ -63,22 +70,16 @@
 sed -i '/make.*/d' regress
 
 %install
-make PREFIX=%{_prefix} DESTDIR=%{buildroot} install-bin install-man 
%{?_smp_mflags}
+make PREFIX=%{_prefix} DESTDIR=%{buildroot} UDEVRULESDIR=%{_udevrulesdir} 
install-bin install-man install-udev install-systemd %{?_smp_mflags}
 install -m 644 -D /dev/null %{buildroot}%{_sysconfdir}/nvme/hostnqn
 install -m 644 -D completions/bash-nvme-completion.sh 
%{buildroot}%{_datadir}/bash_completion/completions/nvme
-install -m 644 -D nvmf-autoconnect/systemd/nvmefc-boot-connections.service 
%{buildroot}%{_unitdir}/nvmefc-boot-connections.service
-install -m 644 -D nvmf-autoconnect/systemd/nvmf-connect@.service 
%{buildroot}%{_unitdir}/nvmf-connect@.service
-install -m 644 -D nvmf-autoconnect/systemd/nvmf-connect.target 
%{buildroot}%{_unitdir}/nvmf-connect.target
-install -m 644 -D nvmf-autoconnect/udev-rules/70-nvmf-autoconnect.rules 
%{buildroot}%{_udevrulesdir}/70-nvmf-autoconnect.rules
-install -m 644 -D scripts/71-nvme-iopolicy-netapp-ONTAP.rules 
%{buildroot}%{_udevrulesdir}/71-nvme-iopolicy-netapp-ONTAP.rules
-install -m 644 -D scripts/71-nvme-iopolicy-netapp-E-Series.rules 
%{buildroot}%{_udevrulesdir}/71-nvme-iopolicy-netapp-E-Series.rules
 %ifarch x86_64 aarch64 i586
-install -m 744 -D scripts/det-hostnqn.sh 
%{buildroot}%{_sbindir}/nvme-det-hostnqn
+install -m 744 -D scripts/gen-hostnqn.sh 
%{buildroot}%{_sbindir}/nvme-gen-hostnqn
 %endif
 # for subpackage nvme-cli-regress-script:
 install -m 744 -D regress %{buildroot}%{_sbindir}/nvme-regress
 
-%define services nvmefc-boot-connections.service nvmf-connect.target
+%define services nvmefc-boot-connections.service nvmf-connect.target 
nvmf-autoconnect.service
 
 %pre
 %service_add_pre %services nvmf-connect@.service
@@ -86,7 +87,7 @@
 %post
 %ifarch x86_64 aarch64 i586
 if [ ! -s %{_sysconfdir}/nvme/hostnqn ]; then
-       %{_sbindir}/nvme-det-hostnqn > %{_sysconfdir}/nvme/hostnqn
+       %{_sbindir}/nvme-gen-hostnqn > %{_sysconfdir}/nvme/hostnqn
 fi
 %endif
 if [ ! -s %{_sysconfdir}/nvme/hostnqn ]; then
@@ -115,18 +116,18 @@
 %doc README.md
 %{_sbindir}/nvme
 %ifarch x86_64 aarch64 i586
-%{_sbindir}/nvme-det-hostnqn
+%{_sbindir}/nvme-gen-hostnqn
 %endif
 %{_mandir}/man1/nvme*.1*%{?ext_man}
 %dir %{_datadir}/bash_completion
 %dir %{_datadir}/bash_completion/completions/
 %{_datadir}/bash_completion/completions/nvme
 %{_udevrulesdir}/70-nvmf-autoconnect.rules
-%{_udevrulesdir}/71-nvme-iopolicy-netapp-ONTAP.rules
-%{_udevrulesdir}/71-nvme-iopolicy-netapp-E-Series.rules
+%{_udevrulesdir}/71-nvmf-iopolicy-netapp.rules
 %{_unitdir}/nvmefc-boot-connections.service
 %{_unitdir}/nvmf-connect@.service
 %{_unitdir}/nvmf-connect.target
+%{_unitdir}/nvmf-autoconnect.service
 %dir %{_sysconfdir}/nvme/
 %ghost %{_sysconfdir}/nvme/hostnqn
 %ghost %{_sysconfdir}/nvme/hostid

++++++ 0001-Makefile-generate-Dracut-config-according-to-UDEVDIR.patch ++++++
From: Haochen Tong <i...@hexchain.org>
Date: Thu, 9 Jan 2020 20:16:23 +0100
Subject: [PATCH] Makefile: generate Dracut config according to UDEVDIR
Git-commit: 797ec651a057935a93319f2a3e082874076b5dfb

Signed-off-by: Haochen Tong <i...@hexchain.org>
---
 Makefile                                                 | 10 +++++++---
 nvmf-autoconnect/dracut-conf/70-nvmf-autoconnect.conf    |  1 -
 nvmf-autoconnect/dracut-conf/70-nvmf-autoconnect.conf.in |  1 +
 3 files changed, 8 insertions(+), 4 deletions(-)
 delete mode 100644 nvmf-autoconnect/dracut-conf/70-nvmf-autoconnect.conf
 create mode 100644 nvmf-autoconnect/dracut-conf/70-nvmf-autoconnect.conf.in

diff --git a/Makefile b/Makefile
index 441da6d..03d57d3 100644
--- a/Makefile
+++ b/Makefile
@@ -101,7 +101,7 @@ test:
 all: doc
 
 clean:
-       $(RM) $(NVME) $(OBJS) $(PLUGIN_OBJS) $(UTIL_OBJS) *~ a.out 
NVME-VERSION-FILE *.tar* nvme.spec version control nvme-*.deb
+       $(RM) $(NVME) $(OBJS) $(PLUGIN_OBJS) $(UTIL_OBJS) *~ a.out 
NVME-VERSION-FILE *.tar* nvme.spec version control nvme-*.deb 
70-nvmf-autoconnect.conf
        $(MAKE) -C Documentation clean
        $(RM) tests/*.pyc
        $(RM) verify-no-dep
@@ -128,9 +128,9 @@ install-udev:
        $(INSTALL) -d $(DESTDIR)$(UDEVDIR)/rules.d
        $(INSTALL) -m 644 ./nvmf-autoconnect/udev-rules/* 
$(DESTDIR)$(UDEVDIR)/rules.d
 
-install-dracut:
+install-dracut: 70-nvmf-autoconnect.conf
        $(INSTALL) -d $(DESTDIR)$(DRACUTDIR)/dracut.conf.d
-       $(INSTALL) -m 644 ./nvmf-autoconnect/dracut-conf/* 
$(DESTDIR)$(DRACUTDIR)/dracut.conf.d
+       $(INSTALL) -m 644 $< $(DESTDIR)$(DRACUTDIR)/dracut.conf.d
 
 install-zsh-completion:
        $(INSTALL) -d $(DESTDIR)$(PREFIX)/share/zsh/site-functions
@@ -159,6 +159,10 @@ nvme.spec: nvme.spec.in NVME-VERSION-FILE
        sed -e 's/@@VERSION@@/$(NVME_VERSION)/g' < $< > $@+
        mv $@+ $@
 
+70-nvmf-autoconnect.conf: 
nvmf-autoconnect/dracut-conf/70-nvmf-autoconnect.conf.in
+       sed -e 's#@@UDEVDIR@@#$(UDEVDIR)#g' < $< > $@+
+       mv $@+ $@
+
 dist: nvme.spec
        git archive --format=tar --prefix=nvme-$(NVME_VERSION)/ HEAD > 
nvme-$(NVME_VERSION).tar
        @echo $(NVME_VERSION) > version
diff --git a/nvmf-autoconnect/dracut-conf/70-nvmf-autoconnect.conf 
b/nvmf-autoconnect/dracut-conf/70-nvmf-autoconnect.conf
deleted file mode 100644
index 844f3d9..0000000
--- a/nvmf-autoconnect/dracut-conf/70-nvmf-autoconnect.conf
+++ /dev/null
@@ -1 +0,0 @@
-install_items+="/usr/lib/udev/rules.d/70-nvmf-autoconnect.rules"
diff --git a/nvmf-autoconnect/dracut-conf/70-nvmf-autoconnect.conf.in 
b/nvmf-autoconnect/dracut-conf/70-nvmf-autoconnect.conf.in
new file mode 100644
index 0000000..d1f02fe
--- /dev/null
+++ b/nvmf-autoconnect/dracut-conf/70-nvmf-autoconnect.conf.in
@@ -0,0 +1 @@
+install_items+="@@UDEVDIR@@/rules.d/70-nvmf-autoconnect.rules"
-- 
2.13.7

++++++ 0002-Makefile-use-UDEVRULESDIR-instead-of-UDEVDIR.patch ++++++
From: Hannes Reinecke <h...@suse.de>
Date: Thu, 16 Jan 2020 13:57:46 +0100
Subject: [PATCH] Makefile: use UDEVRULESDIR instead of UDEVDIR
Git-commit: ab918e9f3825abed66ddeee4ca2e4528b227dd37

The SUSE rpm macros only have UDEVRULESDIR, not UDEVDIR.
So introduce a UDEVRULESDIR variable which is preset to
UDEVDIR/rules.d

Signed-off-by: Hannes Reinecke <h...@suse.de>
---
 Makefile                                                 | 7 ++++---
 nvmf-autoconnect/dracut-conf/70-nvmf-autoconnect.conf.in | 2 +-
 2 files changed, 5 insertions(+), 4 deletions(-)

diff --git a/Makefile b/Makefile
index 03d57d3..e63a9cb 100644
--- a/Makefile
+++ b/Makefile
@@ -13,6 +13,7 @@ SBINDIR = $(PREFIX)/sbin
 LIBDIR ?= $(PREFIX)/lib
 SYSTEMDDIR ?= $(LIBDIR)/systemd
 UDEVDIR ?= $(SYSCONFDIR)/udev
+UDEVRULESDIR ?= $(UDEVDIR)/rules.d
 DRACUTDIR ?= $(LIBDIR)/dracut
 LIB_DEPENDS =
 
@@ -125,8 +126,8 @@ install-systemd:
        $(INSTALL) -m 644 ./nvmf-autoconnect/systemd/* 
$(DESTDIR)$(SYSTEMDDIR)/system
 
 install-udev:
-       $(INSTALL) -d $(DESTDIR)$(UDEVDIR)/rules.d
-       $(INSTALL) -m 644 ./nvmf-autoconnect/udev-rules/* 
$(DESTDIR)$(UDEVDIR)/rules.d
+       $(INSTALL) -d $(DESTDIR)$(UDEVRULESDIR)
+       $(INSTALL) -m 644 ./nvmf-autoconnect/udev-rules/* 
$(DESTDIR)$(UDEVRULESDIR)
 
 install-dracut: 70-nvmf-autoconnect.conf
        $(INSTALL) -d $(DESTDIR)$(DRACUTDIR)/dracut.conf.d
@@ -160,7 +161,7 @@ nvme.spec: nvme.spec.in NVME-VERSION-FILE
        mv $@+ $@
 
 70-nvmf-autoconnect.conf: 
nvmf-autoconnect/dracut-conf/70-nvmf-autoconnect.conf.in
-       sed -e 's#@@UDEVDIR@@#$(UDEVDIR)#g' < $< > $@+
+       sed -e 's#@@UDEVRULESDIR@@#$(UDEVRULESDIR)#g' < $< > $@+
        mv $@+ $@
 
 dist: nvme.spec
diff --git a/nvmf-autoconnect/dracut-conf/70-nvmf-autoconnect.conf.in 
b/nvmf-autoconnect/dracut-conf/70-nvmf-autoconnect.conf.in
index d1f02fe..41ea83c 100644
--- a/nvmf-autoconnect/dracut-conf/70-nvmf-autoconnect.conf.in
+++ b/nvmf-autoconnect/dracut-conf/70-nvmf-autoconnect.conf.in
@@ -1 +1 @@
-install_items+="@@UDEVDIR@@/rules.d/70-nvmf-autoconnect.rules"
+install_items+="@@UDEVRULESDIR@@/70-nvmf-autoconnect.rules"
-- 
2.13.7

++++++ 0003-Add-additional-smart-log-critical-warn-decoding.patch ++++++
From: Wen Xiong <wenxi...@linux.vnet.ibm.com>
Date: Wed, 8 Jan 2020 12:24:41 -0800
Subject: [PATCH] Add additional smart log critical warn decoding
Git-commit: 4bad11866a349b7ae5d10869474f7c0fee740845

Provide a user option to request additional smart log page decoding,
and print out detailed critical warning when requested.

Signed-off-by: Wendy Xiong<wenxi...@linux.vnet.ibm.com>
[merge up, rename json keys]
Signed-off-by: Keith Busch <kbu...@kernel.org>
---
 nvme-print.c | 37 +++++++++++++++++++++++++++++++------
 nvme.c       | 11 ++++++++---
 2 files changed, 39 insertions(+), 9 deletions(-)

diff --git a/nvme-print.c b/nvme-print.c
index 2ba1de1..46d5228 100644
--- a/nvme-print.c
+++ b/nvme-print.c
@@ -585,10 +585,11 @@ static void json_endurance_log(struct 
nvme_endurance_group_log *endurance_group,
        json_free_object(root);
 }
 
-static void json_smart_log(struct nvme_smart_log *smart, unsigned int nsid)
+static void json_smart_log(struct nvme_smart_log *smart, unsigned int nsid,
+       enum nvme_print_flags flags)
 {
+       int c, human = flags & VERBOSE;
        struct json_object *root;
-       int c;
        char key[21];
 
        unsigned int temperature = ((smart->temperature[1] << 8) |
@@ -607,8 +608,22 @@ static void json_smart_log(struct nvme_smart_log *smart, 
unsigned int nsid)
 
        root = json_create_object();
 
-       json_object_add_value_int(root, "critical_warning",
-               smart->critical_warning);
+       if (human) {
+               struct json_object *crt = json_create_object();
+
+               json_object_add_value_int(crt, "value", 
smart->critical_warning);
+               json_object_add_value_int(crt, "available_spare", 
smart->critical_warning & 0x01);
+               json_object_add_value_int(crt, "temp_threshold", 
(smart->critical_warning & 0x02) >> 1);
+               json_object_add_value_int(crt, "reliability_degraded", 
(smart->critical_warning & 0x04) >> 2);
+               json_object_add_value_int(crt, "ro", (smart->critical_warning & 
0x08) >> 3);
+               json_object_add_value_int(crt, "vmbu_failed", 
(smart->critical_warning & 0x10) >> 4);
+               json_object_add_value_int(crt, "pmr_ro", 
(smart->critical_warning & 0x20) >> 5);
+
+               json_object_add_value_object(root, "critical_warning", crt);
+       } else
+               json_object_add_value_int(root, "critical_warning",
+                       smart->critical_warning);
+
        json_object_add_value_int(root, "temperature", temperature);
        json_object_add_value_int(root, "avail_spare", smart->avail_spare);
        json_object_add_value_int(root, "spare_thresh", smart->spare_thresh);
@@ -3400,16 +3415,26 @@ void nvme_show_smart_log(struct nvme_smart_log *smart, 
unsigned int nsid,
        /* convert temperature from Kelvin to Celsius */
        int temperature = ((smart->temperature[1] << 8) |
                            smart->temperature[0]) - 273;
-       int i;
+       int i, human = flags & VERBOSE;
 
        if (flags & BINARY)
                return d_raw((unsigned char *)smart, sizeof(*smart));
        else if (flags & JSON)
-               return json_smart_log(smart, nsid);
+               return json_smart_log(smart, nsid, flags);
 
        printf("Smart Log for NVME device:%s namespace-id:%x\n", devname, nsid);
        printf("critical_warning                        : %#x\n",
                smart->critical_warning);
+
+       if (human) {
+               printf("      Available Spare[0]             : %d\n", 
smart->critical_warning & 0x01);
+               printf("      Temp. Threshold[1]             : %d\n", 
(smart->critical_warning & 0x02) >> 1);
+               printf("      NVM subsystem Reliability[2]   : %d\n", 
(smart->critical_warning & 0x04) >> 2);
+               printf("      Read-only[3]                   : %d\n", 
(smart->critical_warning & 0x08) >> 3);
+               printf("      Volatile mem. backup failed[4] : %d\n", 
(smart->critical_warning & 0x10) >> 4);
+               printf("      Persistent Mem. RO[5]          : %d\n", 
(smart->critical_warning & 0x20) >> 5);
+       }
+
        printf("temperature                             : %d C\n",
                temperature);
        printf("available_spare                         : %u%%\n",
diff --git a/nvme.c b/nvme.c
index 3b386bc..dd3ab58 100644
--- a/nvme.c
+++ b/nvme.c
@@ -218,6 +218,7 @@ static int get_smart_log(int argc, char **argv, struct 
command *cmd, struct plug
                        "(default) or binary.";
        const char *namespace = "(optional) desired namespace";
        const char *raw = "output in binary format";
+       const char *human_readable = "show info in readable format";
        enum nvme_print_flags flags;
        int err, fd;
 
@@ -225,6 +226,7 @@ static int get_smart_log(int argc, char **argv, struct 
command *cmd, struct plug
                __u32 namespace_id;
                int   raw_binary;
                char *output_format;
+               int   human_readable;
        };
 
        struct config cfg = {
@@ -234,9 +236,10 @@ static int get_smart_log(int argc, char **argv, struct 
command *cmd, struct plug
 
 
        OPT_ARGS(opts) = {
-               OPT_UINT("namespace-id", 'n', &cfg.namespace_id,  namespace),
-               OPT_FMT("output-format", 'o', &cfg.output_format, 
output_format),
-               OPT_FLAG("raw-binary",   'b', &cfg.raw_binary,    raw),
+               OPT_UINT("namespace-id",   'n', &cfg.namespace_id,   namespace),
+               OPT_FMT("output-format",   'o', &cfg.output_format,  
output_format),
+               OPT_FLAG("raw-binary",     'b', &cfg.raw_binary,     raw),
+               OPT_FLAG("human-readable", 'H', &cfg.human_readable, 
human_readable),
                OPT_END()
        };
 
@@ -249,6 +252,8 @@ static int get_smart_log(int argc, char **argv, struct 
command *cmd, struct plug
                goto close_fd;
        if (cfg.raw_binary)
                flags = BINARY;
+       if (cfg.human_readable)
+               flags |= VERBOSE;
 
        err = nvme_smart_log(fd, cfg.namespace_id, &smart_log);
        if (!err)
-- 
2.13.7

++++++ 0004-nvmf-autoconnect.service.patch ++++++
From: Hannes Reinecke <h...@suse.de>
Date: Wed, 22 Jan 2020 08:45:18 +0100
Subject: [PATCH] nvmf-autoconnect.service
Git-commit: c28523e76544fb44a9b6d7aa40e42bc5ffea256e Mon Sep 17 00:00:00 2001

Add a systemd service to automatically start 'nvme connect-all'
upon booting if an /etc/nvme/discovery.conf file exists.
The 'nvme-tcp' or 'nvme-rdma' modules need to be loaded earlier
by eg the modules-load service.

Signed-off-by: Hannes Reinecke <h...@suse.com>
---
 nvmf-autoconnect/systemd/nvmf-autoconnect.service | 12 ++++++++++++
 1 file changed, 12 insertions(+)
 create mode 100644 nvmf-autoconnect/systemd/nvmf-autoconnect.service

diff --git a/nvmf-autoconnect/systemd/nvmf-autoconnect.service 
b/nvmf-autoconnect/systemd/nvmf-autoconnect.service
new file mode 100644
index 0000000..2690467
--- /dev/null
+++ b/nvmf-autoconnect/systemd/nvmf-autoconnect.service
@@ -0,0 +1,12 @@
+[Unit]
+Description=Connect NVMe-oF subsystems automatically during boot
+ConditionPathExists=/etc/nvme/discovery.conf
+After=network.target
+Before=remote-fs-pre.target
+
+[Service]
+Type=oneshot
+ExecStart=/usr/sbin/nvme connect-all
+
+[Install]
+WantedBy=default.target
-- 
2.13.7

++++++ 0102-nvme-cli-Add-script-to-determine-host-NQN.patch -> 
0005-nvme-cli-Add-script-to-determine-host-NQN.patch ++++++
--- 
/work/SRC/openSUSE:Leap:15.2/nvme-cli/0102-nvme-cli-Add-script-to-determine-host-NQN.patch
  2020-01-15 15:34:06.826888763 +0100
+++ 
/work/SRC/openSUSE:Leap:15.2/.nvme-cli.new.26092/0005-nvme-cli-Add-script-to-determine-host-NQN.patch
       2020-02-14 17:58:13.186831425 +0100
@@ -1,21 +1,21 @@
-From b38de666b0ae385bb35c00280c48a20f4d4d6aae Mon Sep 17 00:00:00 2001
 From: Simon Schricker <sschric...@suse.de>
 Date: Fri, 17 May 2019 15:36:37 +0200
 Subject: [PATCH] nvme-cli: Add script to determine host NQN
+Git-commit: 6180aa0e32ba7d0e8dfa8435d212208569168773
 
 * Based on the system-UUID, via dmidecode
 * verifies UUID format
 * tries to catch fake/lazy UUIDs
 ---
- scripts/det-hostnqn.sh | 42 ++++++++++++++++++++++++++++++++++++++++++
+ scripts/gen-hostnqn.sh | 42 ++++++++++++++++++++++++++++++++++++++++++
  1 file changed, 42 insertions(+)
- create mode 100644 scripts/det-hostnqn.sh
+ create mode 100644 scripts/gen-hostnqn.sh
 
-diff --git a/scripts/det-hostnqn.sh b/scripts/det-hostnqn.sh
+diff --git a/scripts/gen-hostnqn.sh b/scripts/gen-hostnqn.sh
 new file mode 100644
 index 0000000..d8783cf
 --- /dev/null
-+++ b/scripts/det-hostnqn.sh
++++ b/scripts/gen-hostnqn.sh
 @@ -0,0 +1,42 @@
 +#!/bin/bash
 +
@@ -60,5 +60,5 @@
 +
 +echo $HOSTNQN
 -- 
-2.16.4
+2.13.7
 

++++++ _service ++++++
--- /var/tmp/diff_new_pack.zIc8xP/_old  2020-02-14 17:58:14.102831973 +0100
+++ /var/tmp/diff_new_pack.zIc8xP/_new  2020-02-14 17:58:14.114831980 +0100
@@ -3,8 +3,8 @@
     <param name="scm">git</param>
     <param name="url">https://github.com/linux-nvme/nvme-cli.git</param>
     <param name="filename">nvme-cli</param>
-    <param name="version">1.9</param>
-    <param name="revision">v1.9</param>
+    <param name="version">1.10</param>
+    <param name="revision">v1.10</param>
     <param name="exclude">.git</param>
     <param name="changesgenerate">enable</param>
   </service>

++++++ _servicedata ++++++
--- /var/tmp/diff_new_pack.zIc8xP/_old  2020-02-14 17:58:14.182832021 +0100
+++ /var/tmp/diff_new_pack.zIc8xP/_new  2020-02-14 17:58:14.186832023 +0100
@@ -1,4 +1,4 @@
 <servicedata>
 <service name="tar_scm">
             <param 
name="url">https://github.com/linux-nvme/nvme-cli.git</param>
-          <param 
name="changesrevision">977e7d4cf59c3c7f89e9c093c91f991b07292e45</param></service></servicedata>
\ No newline at end of file
+          <param 
name="changesrevision">d158aaefcfb063eca95f1bd0c522abf3a17a085d</param></service></servicedata>
\ No newline at end of file

++++++ nvme-cli-1.9.tar.gz -> nvme-cli-1.10.tar.gz ++++++
++++ 35467 lines of diff (skipped)


Reply via email to