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
This commit is contained in:
Ana Guerrero 2023-12-20 20:00:30 +00:00 committed by Git OBS Bridge
parent 127f43644b
commit c2d3e8d0ed
9 changed files with 156 additions and 117 deletions

View File

@ -1,55 +0,0 @@
From b3059ae50b905b265913dc541b740eef85c54814 Mon Sep 17 00:00:00 2001
From: Martin Wilck <mwilck@suse.com>
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 <mwilck@suse.com>
---
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

View File

@ -1,49 +0,0 @@
From 39f94260eaf7e0604772e6cabf1c04ec0f03201a Mon Sep 17 00:00:00 2001
From: Martin Wilck <mwilck@suse.com>
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 <mwilck@suse.com>
---
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

View File

@ -4,7 +4,7 @@
<param name="url">https://github.com/linux-nvme/nvme-cli.git</param>
<param name="filename">nvme-cli</param>
<param name="versionformat">@PARENT_TAG@</param>
<param name="revision">v2.6</param>
<param name="revision">v2.7</param>
<param name="versionrewrite-pattern">v(.*)</param>
<param name="changesgenerate">enable</param>
</service>

View File

@ -1,6 +1,6 @@
<servicedata>
<service name="tar_scm">
<param name="url">https://github.com/linux-nvme/nvme-cli.git</param>
<param name="changesrevision">bd2f882a49a14b0e21a94c928128b1979e4316fd</param>
<param name="changesrevision">807a66cbdef368a9122c7de07837f4298249f5a7</param>
</service>
</servicedata>

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:fb3382491fb946b9320661ab57f94daf0290cc1c30f45d8268076e9e9014623c
size 7472653

3
nvme-cli-2.7.obscpio Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:0201bbc06103f02f7de8b2f3e688708490441e0383f26c622e1c309aa9b72c6e
size 7719437

View File

@ -1,3 +1,149 @@
-------------------------------------------------------------------
Tue Dec 19 13:30:18 UTC 2023 - Daniel Wagner <daniel.wagner@suse.com>
- 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 <daniel.wagner@suse.com>

View File

@ -1,4 +1,4 @@
name: nvme-cli
version: 2.6
mtime: 1695969193
commit: bd2f882a49a14b0e21a94c928128b1979e4316fd
version: 2.7
mtime: 1702986525
commit: 807a66cbdef368a9122c7de07837f4298249f5a7

View File

@ -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