From c2d3e8d0ed409ace998c503fce31cd3f586439cdc4c7510f47570d63ce57c9d9 Mon Sep 17 00:00:00 2001 From: Ana Guerrero Date: Wed, 20 Dec 2023 20:00:30 +0000 Subject: [PATCH] Accepting request 1134176 from Base:System OBS-URL: https://build.opensuse.org/request/show/1134176 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/nvme-cli?expand=0&rev=71 --- ...ect-add-service-unit-for-connecting-.patch | 55 ------- ...-rule-to-avoid-renaming-nbft-interfa.patch | 49 ------ _service | 2 +- _servicedata | 2 +- nvme-cli-2.6.obscpio | 3 - nvme-cli-2.7.obscpio | 3 + nvme-cli.changes | 146 ++++++++++++++++++ nvme-cli.obsinfo | 6 +- nvme-cli.spec | 7 +- 9 files changed, 156 insertions(+), 117 deletions(-) delete mode 100644 0001-fabrics-autoconnect-add-service-unit-for-connecting-.patch delete mode 100644 0002-fabrics-add-udev-rule-to-avoid-renaming-nbft-interfa.patch delete mode 100644 nvme-cli-2.6.obscpio create mode 100644 nvme-cli-2.7.obscpio diff --git a/0001-fabrics-autoconnect-add-service-unit-for-connecting-.patch b/0001-fabrics-autoconnect-add-service-unit-for-connecting-.patch deleted file mode 100644 index dcf8df2..0000000 --- a/0001-fabrics-autoconnect-add-service-unit-for-connecting-.patch +++ /dev/null @@ -1,55 +0,0 @@ -From b3059ae50b905b265913dc541b740eef85c54814 Mon Sep 17 00:00:00 2001 -From: Martin Wilck -Date: Tue, 23 May 2023 12:48:55 +0200 -Subject: [PATCH 1/2] fabrics: autoconnect: add service unit for connecting - NBFT subsystems - -Create a separate unit file for connecting to NBFT-defined subsystems. -This unit is intended to be called in "post-up" scripts from network -management software if an interface defined in the HFI section of the -NBFT is brought up (L3-configured). - -In simple scenarios with just one HFI, this won't be necessary because the -interface must be brought up in the initramfs already. But in multipath -scenarios, the initramfs may choose not to wait for every HFI to come up, and -thus it may be necessary to bring up the secondary connection(s) later on. - -Signed-off-by: Martin Wilck ---- - meson.build | 1 + - nvmf-autoconnect/systemd/nvmf-connect-nbft.service.in | 11 +++++++++++ - 2 files changed, 12 insertions(+) - create mode 100644 nvmf-autoconnect/systemd/nvmf-connect-nbft.service.in - -diff --git a/meson.build b/meson.build -index 3d3fb08541ff..de595c82c064 100644 ---- a/meson.build -+++ b/meson.build -@@ -222,6 +222,7 @@ endforeach - systemd_files = [ - 'nvmefc-boot-connections.service', - 'nvmf-autoconnect.service', -+ 'nvmf-connect-nbft.service', - 'nvmf-connect.target', - 'nvmf-connect@.service', - ] -diff --git a/nvmf-autoconnect/systemd/nvmf-connect-nbft.service.in b/nvmf-autoconnect/systemd/nvmf-connect-nbft.service.in -new file mode 100644 -index 000000000000..8769884da415 ---- /dev/null -+++ b/nvmf-autoconnect/systemd/nvmf-connect-nbft.service.in -@@ -0,0 +1,11 @@ -+# This unit is meant to be started by network management software -+# after a network interface defined in the NBFT gets set up -+[Unit] -+Description=Connect NBFT-defined NVMe-oF subsystems automatically -+ConditionPathExists=|/sys/firmware/acpi/tables/NBFT -+ConditionPathExists=|/sys/firmware/acpi/tables/NBFT1 -+ -+[Service] -+Type=oneshot -+ExecStartPre=/sbin/modprobe nvme-fabrics -+ExecStart=@SBINDIR@/nvme connect-nbft --- -2.42.0 - diff --git a/0002-fabrics-add-udev-rule-to-avoid-renaming-nbft-interfa.patch b/0002-fabrics-add-udev-rule-to-avoid-renaming-nbft-interfa.patch deleted file mode 100644 index f24dcc4..0000000 --- a/0002-fabrics-add-udev-rule-to-avoid-renaming-nbft-interfa.patch +++ /dev/null @@ -1,49 +0,0 @@ -From 39f94260eaf7e0604772e6cabf1c04ec0f03201a Mon Sep 17 00:00:00 2001 -From: Martin Wilck -Date: Tue, 23 May 2023 14:19:14 +0200 -Subject: [PATCH 2/2] fabrics: add udev rule to avoid renaming nbft interfaces - -In the initramfs, the interface naming is taken care of by dracut. -But there are various network-interface-naming policies in place which -may attempt to rename the interface, causing confusion and possibly -wrong interface parameters. - -Add an udev rule that avoids renaming any network interface that -has been assigned a name nbft$N, which is by convention the naming -scheme that is used for NBFT device in the initramfs. - -Note: The simpler 'NAME:="%k"' directive doesn't work because udev rejects -it ('Ignoring NAME="%k", as it will take no effect.'). The ":=" syntax makes -sure the interface isn't renamed any more by later rules. "INTERFACE" is set -by the kernel in the "add" uevent for a network interface. - -Signed-off-by: Martin Wilck ---- - meson.build | 1 + - nvmf-autoconnect/udev-rules/65-persistent-net-nbft.rules.in | 2 ++ - 2 files changed, 3 insertions(+) - create mode 100644 nvmf-autoconnect/udev-rules/65-persistent-net-nbft.rules.in - -diff --git a/meson.build b/meson.build -index de595c82c064..80695e01b906 100644 ---- a/meson.build -+++ b/meson.build -@@ -238,6 +238,7 @@ endforeach - udev_files = [ - '70-nvmf-autoconnect.rules', - '71-nvmf-iopolicy-netapp.rules', -+ '65-persistent-net-nbft.rules', - ] - - foreach file : udev_files -diff --git a/nvmf-autoconnect/udev-rules/65-persistent-net-nbft.rules.in b/nvmf-autoconnect/udev-rules/65-persistent-net-nbft.rules.in -new file mode 100644 -index 000000000000..344942bca0c0 ---- /dev/null -+++ b/nvmf-autoconnect/udev-rules/65-persistent-net-nbft.rules.in -@@ -0,0 +1,2 @@ -+# Avoid renaming nbft$X interfaces -+SUBSYSTEM=="net", ACTION!="remove", ENV{INTERFACE}=="nbft*", NAME:="%E{INTERFACE}" --- -2.42.0 - diff --git a/_service b/_service index 923f918..d4c2173 100644 --- a/_service +++ b/_service @@ -4,7 +4,7 @@ https://github.com/linux-nvme/nvme-cli.git nvme-cli @PARENT_TAG@ - v2.6 + v2.7 v(.*) enable diff --git a/_servicedata b/_servicedata index 3c07af1..bab447a 100644 --- a/_servicedata +++ b/_servicedata @@ -1,6 +1,6 @@ https://github.com/linux-nvme/nvme-cli.git - bd2f882a49a14b0e21a94c928128b1979e4316fd + 807a66cbdef368a9122c7de07837f4298249f5a7 \ No newline at end of file diff --git a/nvme-cli-2.6.obscpio b/nvme-cli-2.6.obscpio deleted file mode 100644 index ebd67e9..0000000 --- a/nvme-cli-2.6.obscpio +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:fb3382491fb946b9320661ab57f94daf0290cc1c30f45d8268076e9e9014623c -size 7472653 diff --git a/nvme-cli-2.7.obscpio b/nvme-cli-2.7.obscpio new file mode 100644 index 0000000..9c5e9f3 --- /dev/null +++ b/nvme-cli-2.7.obscpio @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0201bbc06103f02f7de8b2f3e688708490441e0383f26c622e1c309aa9b72c6e +size 7719437 diff --git a/nvme-cli.changes b/nvme-cli.changes index 558bb83..bad492f 100644 --- a/nvme-cli.changes +++ b/nvme-cli.changes @@ -1,3 +1,149 @@ +------------------------------------------------------------------- +Tue Dec 19 13:30:18 UTC 2023 - Daniel Wagner + +- Update to version 2.7: + * nvme-print-json: include vs for identify namespace + * nvme-print-stdout: enhance connect message + * fabrics: fix connect error if hostid file does not exist + * fabrics: fix invalid output format error during nvme connect + * wdc: Fix vs-smart-add-log Command for SN650 and SN655 + * nvme: restric hmac options for gen-tls-key + * wdc: Fix UUID index fallback mechanism + * plugins/ocp: Add OCP Telemetry String log page, Telemetry log page + * completions: Add bash completions for telemetry string log page + * plugins/solidigm: Added OCP 2.0 compatibility version command + * plugins/solidigm: Added OCP 2.0 vs-drive-info command. + * plugins/ocp: Fix printing order of various Latency Monitor Log buckets + * nvme: validate output format split status from flag return value + * nvme: simplify cleanup_nvme_dev() + * cleanup: remove unused cleanup_charp() + * wdc: Add support for SN861 2nd pci device id + * nvme: replace libhugetlbfs with mmap and madvise + * util/mem: move alloc helper to util section + * nvme: auto cleanup filedescriptors + * nvme: auto cleanup buffers + * nvme: return error code in get_persistent_event_log + * nvme: sanitize nvme-gen-tls-key + * nvme: print out the resulting TLS identity for 'nvme check-tls-key' + * nvme: Add version '1' identifier for nvme-gen-tls-key + * subprojects/libnvme: update wrapper for TP8018 + * plugins/solidigm: Added re_sku_count smart atrribute + * doc: Fix nvme-connect manpage --application option string + * plugins/ocp: changed command clear-pcie-correctable-error-counters to match OCP 2.0 spec. + * plugins/solidigm: Added command to clear PCIe Correctable Error Counters according to OCP 2.0 + * plugins/ocp: Reorganized clear feature code for better reuse + * nvme: fixup length calculation for 'nvme gen-tls-key --secret' + * doc: remove invalid hostkey info for --dhchap-secret + * nvme-print-json: use human helper everywhere + * nvme-print-json: remove obj_print helper + * plugins/ocp: update nvme_show_select_result call + * mailmap: only show contributer's name + * nvme-print-json: Change to report status and message in array + * nvme-print-json: Change to report feature select in array + * nvme-print-json: Change to report error and data in array + * nvme-print-json: Add show_init/finish calls to report features in array + * nvme-print: Add nvme_show_error_status() to merge error message and status + * nvme-print-json: Use r instead of root and use obj_add_***(r, ..., ...) + * nvme-print-json: Delete static const char string global variables + * nvme-print-json: Add remaining controller registers readable format + * nvme-print-json: Add readable format cap, vs, cc, csts, nssr and crto registers + * nvme-print-json: Combine duplicated json key and val string variables + * nvme-print-json: Replase json_array_add_value_string() to array_add_str() + * nvme-print-json: Replase json_object_add_value_uint128() to obj/root_add_uint128() + * nvme-print-json: Replase json_object_add_value_object() to obj/root_add_obj() + * nvme-print-json: Replase json_array_add_value_object() to array_add_obj() + * nvme-print-json: Replase json_object_add_value_array() to obj/root_add_array() + * nvme-print-json: Replase json_object_add_value_uint() to obj/root_add_uint() + * nvme-print-json: Replase json_object_add_value_int() to obj/root_add_int() + * nvme-print-json: Replase json_object_add_value_uint64() to obj/root_add_uint64() + * nvme-print-json: Replase json_object_add_value_string() to obj/root_add_str() + * nvme-print-json: Update feature_show_fields_*** to use root/obj_add_***() + * nvme-print-json: Update lba_status_log to use root_add_***() and obj_add_***() + * nvme-print-json: Replace lba_status_log printf() to root_add_result() + * nvme-print-json: Add list_item print function + * nvme-print-json: Add lba_status_info print function + * nvme-print-json: Add lba_range print function + * nvme-print-json: Add id_ctrl_rpmbs print function + * nvme-print-json: Unify json_list and jroot object names to root + * nvme-print-json: Add json_zns_changed print function + * nvme-print-json: Add root_add_result() to output result message + * nvme-print-json: Split persistent_event_log print function + * nvme-print-json: Remove unnecessary string newline code + * nvme-print-json: Replace effects_log_list print to use json_print() + * nvme-print-json: Print persistent_event_log no log data result correctly + * nvme-print-json: Add static "result" and "erorr" strings variables + * nvme-print-json: Add single_property printf function + * nvme: Replace get feature command stderr output to nvme_show_error() + * nvme-print-json: Change d() output to use d_json() + * nvme: Fix get-feature command mixed stdout and json outputs + * nvme-print-json: Add remaining feature fields print functions + * nvme-print-json: Update formatting and codying style + * build: Add -std=c99 to CFLAGS for muon on CentOS 7 + * fabrics: add udev rule to avoid renaming nbft interfaces + * fabrics: autoconnect: add service unit for connecting NBFT subsystems + * fabrics: autoconnect: explicitly express module dependency + * Updates to codeql config + * libnvme-wrap: exit on VOID_FN lookup failure + * plugins/ocp:Added the ocp C6h feature api + * plugin/ocp_fid_c6h:Added the ocp C6h feature api + * nvme-copy: support cross-namespace copy + * nvme/plugins: fix mismatch operator + * nvme: fix overflow possiblity + * nvme: reduce identify cmd issue + * nvme: allow set-features to take input from stdin + * Fix common misspellings from codespell project + * nvme-print: Correct to print correct ascii character string length + * print-stdout: print Host Behavior Support correctly + * build: Bump libnvme wrap + * plugins/solidigm: Added support for temperature statistics log page + * Add support for codeql sweeps + * doc: Add virt-mgmt command + * doc: Add id-uuid command + * doc: Add list-secondary command + * doc: Add id-ns-granularity command + * doc: Add nvme commands --output-format and --verbose options + * completions: Add nvme-mi-recv nad nvme-mi-send commands completions + * completions: Change short option -o and -v duplicated to upper case + * doc: Change short option -o and -v duplicated to upper case + * nvme: Change short option -o and -v duplicated to upper case + * nvme: Change phy-rx-eom-log command to use NVME_ARGS instead + * plugins/memblaze: Add smart-log-add and latency-feature functions + * plugins/solidigm: internal-logs Telemetry auto detect last data area. + * nvme: Change to use NVME_FLBAS_META_EXT() macro to check flbas value + * nvme-print-json: Add host memory buffer and timestamp features print functions + * nvme-print-json: Add feature fields print functions + * nvme-print-json: Add TMPTH feature print function + * nvme-print-json: Add show_feature_fields print function + * nvme-print-json: Add select_result print function + * nvme-print-json: Use json_print to print and free object + * nvme-print-json: Add lba_status print function + * nvme-print-json: Combine variable definition and setting value + * nvme-print-json: Add id_iocs print function + * nvme-print-stdout: Fix coding style errors + * nvme-print-json: Add directive print function + * nvme: Fixed segmentation fault when getting host initiated telemetry + * plugins/wdc: enhanced SN861 device support + * plugins/wdc: cleanup line lengths + * nvme: do not include meta data for PRACT=1 and MD=8 + * nvme: use block-count arg if provided + * build: bump libnvme to disable tests option + * build: Add static build on CI target + * nvme-print: Add nvme_zns_start_zone_list() API function + * nvme-print: Add nvme_zns_finish_zone_list() API function + * nvme-print-binary: Set list function to NULL if unimplemented + * nvme-print-json: Change order list functions and set NULL if unimplemented + * nvme-print-stdout: Fix to set stdout_list_item print function missed + * plugins/solidigm: log page name extraction using nvme_log_to_string function + * nvme-print: Added missing logpage names in nvme_log_to_string function + * udev-rules: rename netapp udev rule + * udev-rules: set ctrl_loss_tmo to -1 for ONTAP NVMe/TCP +- Remove upstreamed patches + * remove 0001-fabrics-autoconnect-add-service-unit-for-connecting-.patch + * remove 0002-fabrics-add-udev-rule-to-avoid-renaming-nbft-interfa.patch +- Update spec file + * remove libhugetblfs depedency + * update NetApp udev rule file name + ------------------------------------------------------------------- Thu Oct 12 17:05:14 UTC 2023 - Daniel Wagner diff --git a/nvme-cli.obsinfo b/nvme-cli.obsinfo index d83de08..2fdba4e 100644 --- a/nvme-cli.obsinfo +++ b/nvme-cli.obsinfo @@ -1,4 +1,4 @@ name: nvme-cli -version: 2.6 -mtime: 1695969193 -commit: bd2f882a49a14b0e21a94c928128b1979e4316fd +version: 2.7 +mtime: 1702986525 +commit: 807a66cbdef368a9122c7de07837f4298249f5a7 diff --git a/nvme-cli.spec b/nvme-cli.spec index 12fe896..afee734 100644 --- a/nvme-cli.spec +++ b/nvme-cli.spec @@ -19,7 +19,7 @@ %bcond_without check Name: nvme-cli -Version: 2.6 +Version: 2.7 Release: 0 Summary: NVM Express user space tools License: GPL-2.0-only @@ -27,14 +27,11 @@ Group: Hardware/Other URL: https://github.com/linux-nvme/nvme-cli/ Source0: nvme-cli-%{version}.tar.gz Source1: nvme-cli-rpmlintrc -Patch001: 0001-fabrics-autoconnect-add-service-unit-for-connecting-.patch -Patch002: 0002-fabrics-add-udev-rule-to-avoid-renaming-nbft-interfa.patch # downstream patches Patch100: 0100-harden_nvmf-connect@.service.patch BuildRequires: asciidoc BuildRequires: gcc BuildRequires: gcc-c++ -BuildRequires: libhugetlbfs-devel BuildRequires: libjson-c-devel BuildRequires: libnvme-devel BuildRequires: meson @@ -166,7 +163,7 @@ fi %{_mandir}/man1/nvme*.1*%{?ext_man} %{_udevrulesdir}/65-persistent-net-nbft.rules %{_udevrulesdir}/70-nvmf-autoconnect.rules -%{_udevrulesdir}/71-nvmf-iopolicy-netapp.rules +%{_udevrulesdir}/71-nvmf-netapp.rules %{_unitdir}/nvmefc-boot-connections.service %{_unitdir}/nvmf-autoconnect.service %{_unitdir}/nvmf-connect-nbft.service