From 8c735c3d7716762c17eec107e58657da2ee821d0 Mon Sep 17 00:00:00 2001 From: CentOS Sources Date: Jul 14 2020 01:42:46 +0000 Subject: import nvme-cli-1.12-2.el8 --- diff --git a/.gitignore b/.gitignore index 5212f62..fc68fce 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1 @@ -SOURCES/v1.10.1.tar.gz +SOURCES/v1.12.tar.gz diff --git a/.nvme-cli.metadata b/.nvme-cli.metadata index a3806f9..a1de130 100644 --- a/.nvme-cli.metadata +++ b/.nvme-cli.metadata @@ -1 +1 @@ -b312f3385742cc8a171379dd10b3397b45462eca SOURCES/v1.10.1.tar.gz +ec24fdc3944cff338170f8a98e95e9ebe90463f2 SOURCES/v1.12.tar.gz diff --git a/SOURCES/nvme-cli-add-addl-smart-log-crit-warn-decoding-patch b/SOURCES/nvme-cli-add-addl-smart-log-crit-warn-decoding-patch deleted file mode 100644 index 8198c90..0000000 --- a/SOURCES/nvme-cli-add-addl-smart-log-crit-warn-decoding-patch +++ /dev/null @@ -1,128 +0,0 @@ -commit 4bad11866a349b7ae5d10869474f7c0fee740845 -Author: Wen Xiong -Date: Wed Jan 8 12:24:41 2020 -0800 - - Add additional smart log critical warn decoding - - Provide a user option to request additional smart log page decoding, - and print out detailed critical warning when requested. - - Signed-off-by: Wendy Xiong - [merge up, rename json keys] - Signed-off-by: Keith Busch - -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) diff --git a/SOURCES/nvme-cli-memblaze-change-mode-patch b/SOURCES/nvme-cli-memblaze-change-mode-patch deleted file mode 100644 index 5967c4a..0000000 --- a/SOURCES/nvme-cli-memblaze-change-mode-patch +++ /dev/null @@ -1,16 +0,0 @@ -commit 27cc5431f4aabdc8fea8b371c18b3ec1f6b9235b -Author: Yi Zhang -Date: Thu Jan 16 15:56:58 2020 +0800 - - nvme-cli: memblaze: change to 100644 mode for memblaze-nvme.c - - Bellow WARNING observed with rpmbuild -bb rpmbuild/SPECS/nvme-cli.spec - *** WARNING: plugins/memblaze/memblaze-nvme.c is executable but has - empty or no shebang, removing executable bit - - Signed-off-by: Yi Zhang - Signed-off-by: Keith Busch - -diff --git a/plugins/memblaze/memblaze-nvme.c b/plugins/memblaze/memblaze-nvme.c -old mode 100755 -new mode 100644 diff --git a/SOURCES/nvme-print-nvme-list-json-fix-patch b/SOURCES/nvme-print-nvme-list-json-fix-patch deleted file mode 100644 index efad0d5..0000000 --- a/SOURCES/nvme-print-nvme-list-json-fix-patch +++ /dev/null @@ -1,58 +0,0 @@ -commit 01e6062e7be71b7dec29ecd8de09eb411ddd78f1 -Author: Yi Zhang -Date: Fri May 1 15:42:10 2020 +0800 - - nvme-print: nvme list -o json fix - - Bellow error log will be triggered on non pcie transport, so only print the - ProductName for pcie transport, also add print "\n" and json_free_object fix - - Failed to open /sys/class/nvme/nvme1/device/subsystem_vendor with errno No such file or directory - Failed to open /sys/class/nvme/nvme1/device/subsystem_device with errno No such file or directory - Failed to open /sys/class/nvme/nvme1/device/vendor with errno No such file or directory - Failed to open /sys/class/nvme/nvme1/device/device with errno No such file or directory - Failed to open /sys/class/nvme/nvme1/device/class with errno No such file or directory - { - "Devices" : [ - { - "NameSpace" : 1, - "DevicePath" : "/dev/nvme1n1", - "Firmware" : "4.18.0-1", - "Index" : 1, - "ModelNumber" : "Linux", - "ProductName" : "NULL", - "SerialNumber" : "eb4695bf0da275a3", - "UsedBytes" : 268435456000, - "MaximumLBA" : 524288000, - "PhysicalSize" : 268435456000, - "SectorSize" : 512 - } - ] - } - - Reported-by: Justin Tee - Signed-off-by: Yi Zhang - Signed-off-by: Keith Busch - -diff --git a/nvme-print.c b/nvme-print.c -index 42e27a3..7414280 100644 ---- a/nvme-print.c -+++ b/nvme-print.c -@@ -4629,7 +4629,7 @@ static void json_simple_ns(struct nvme_namespace *n, struct json_array *devices) - - json_object_add_value_string(device_attrs, "ModelNumber", formatter); - -- if (index >= 0) { -+ if (index >= 0 && !strcmp(n->ctrl->transport, "pcie")) { - char *product = nvme_product_name(index); - - json_object_add_value_string(device_attrs, "ProductName", product); -@@ -4682,6 +4682,8 @@ static void json_simple_list(struct nvme_topology *t) - } - json_object_add_value_array(root, "Devices", devices); - json_print_object(root, NULL); -+ printf("\n"); -+ json_free_object(root); - } - - static void json_print_list_items(struct nvme_topology *t, diff --git a/SPECS/nvme-cli.spec b/SPECS/nvme-cli.spec index 605c8ee..33df88a 100644 --- a/SPECS/nvme-cli.spec +++ b/SPECS/nvme-cli.spec @@ -2,7 +2,7 @@ #%%global shortcommit0 %%(c=%%{commit0}; echo ${c:0:7}) Name: nvme-cli -Version: 1.10.1 +Version: 1.12 Release: 2%{?dist} Summary: NVMe management command line interface @@ -11,10 +11,7 @@ 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: nvme-cli-memblaze-change-mode-patch -Patch1: nvme-cli-add-addl-smart-log-crit-warn-decoding-patch -Patch2: nvme-cli-makefile-dont-install-host-params-patch -Patch3: nvme-print-nvme-list-json-fix-patch +Patch0: nvme-cli-makefile-dont-install-host-params-patch BuildRequires: libuuid-devel BuildRequires: gcc @@ -27,9 +24,7 @@ nvme-cli provides NVM-Express user space tooling for Linux. #%%setup -qn %%{name}-%%{commit0} %setup -q %patch0 -p1 -%patch1 -p1 -%patch2 -p1 -%patch3 -p1 + %build @@ -61,6 +56,7 @@ rm -f %{buildroot}/usr/lib/dracut/dracut.conf.d/70-nvmf-autoconnect.conf %{_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 @@ -68,7 +64,6 @@ rm -f %{buildroot}/usr/lib/dracut/dracut.conf.d/70-nvmf-autoconnect.conf # 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 @@ -83,7 +78,14 @@ if [ $1 -eq 1 ] || [ $1 -eq 2 ]; then systemctl daemon-reload udevadm control --reload-rules && udevadm trigger fi + %changelog +* Tue Jun 16 2020 Fedora Release Monitoring - 1.12-1 +- Update to 1.12 (#1827581) + +* 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