Skip to content

[pull] master from linux-nvme:master#217

Merged
pull[bot] merged 6 commits into
zengqingfu1442:masterfrom
linux-nvme:master
May 16, 2026
Merged

[pull] master from linux-nvme:master#217
pull[bot] merged 6 commits into
zengqingfu1442:masterfrom
linux-nvme:master

Conversation

@pull

@pull pull Bot commented May 16, 2026

Copy link
Copy Markdown

See Commits and Changes for more details.


Created by pull[bot] (v2.0.0-alpha.4)

Can you help keep this open source service alive? 💖 Please sponsor : )

Martin Belanger and others added 6 commits May 16, 2026 11:45
Move transport-specific ctrl matching code out of tree.c:
- TCP matching functions and _candidate_init_fabrics() move to
  tree-fabrics.c (compiled only when CONFIG_FABRICS is set)
- _match_ctrl() renamed to _tree_ctrl_match() (non-static) so it
  can be referenced from tree-fabrics.c
- no-fabrics.c gets a _candidate_init_fabrics() stub returning NULL
- streq0()/streqcase0() helpers move to private.h where both tree.c
  and tree-fabrics.c can reach them without an extra include
- struct candidate_args / ctrl_match_t / related declarations move
  to private-fabrics.h; the iface_list field stays conditionally
  compiled on HAVE_NETDB||CONFIG_FABRICS while the rest of the
  struct is unconditional (portability fix for musl/HAVE_NETDB=0)

Tests:
- test/tree.c renamed to test/tree-fabrics.c (fabrics-only); move its
  meson registration under if want_fabrics inside the HAVE_NETDB block
- test/tree-fabrics.c extended with 7 new test functions covering
  PCIe/loop matching, well-known NQN, "none" normalization, RDMA/FC
  config matching, and pagination
- new test/tree.c added with 7 non-fabrics tests for host/subsystem
  creation, deduplication, iteration, and attribute getters; always
  compiled regardless of fabrics config

Signed-off-by: Martin Belanger <Martin.Belanger@dell.com>
Assisted-by: Claude:claude-sonnet-4-6 [Claude Code]
libnvme_read_sysfs_dhchap(), libnvme_read_sysfs_tls(), and
libnvme_read_sysfs_tls_mode() are fabrics-only — the sysfs attributes
they read (dhchap_secret, tls_key, tls_mode, …) are never present on
PCIe controllers. Move them to tree-fabrics.c as static helpers under
a single non-static wrapper libnvmf_read_sysfs_fabrics_attrs(), and
rename all four with the libnvmf_ prefix to reflect their scope.

Declare the wrapper in private-fabrics.h; add a no-op stub in
no-fabrics.c. libnvme_reconfigure_ctrl() in tree.c now calls the
wrapper instead of the three individual functions.

Signed-off-by: Martin Belanger <Martin.Belanger@dell.com>
Assisted-by: Claude:claude-sonnet-4-6 [Claude Code]
libnvme_ctrl_find() and _libnvme_ctrl_match_config() are only called
from fabrics.c and are therefore fabrics-only. Rename them to
libnvmf_ctrl_find() and _libnvmf_ctrl_match_config() to make that
scope explicit.

libnvme_ctrl_match_config() was the public wrapper around
_libnvme_ctrl_match_config(). It was exported in libnvme.ld but has no
callers outside of the library itself. Drop it entirely rather than
carry it as dead public API. The internal _libnvmf_ctrl_match_config()
is sufficient.

Move the two remaining internal declarations from private.h to
private-fabrics.h, where they belong alongside the other
fabrics-internal helpers.

Signed-off-by: Martin Belanger <Martin.Belanger@dell.com>
Assisted-by: Claude:claude-sonnet-4-6 [Claude Code]
Adds platform-specific sighdl implementations.

Signed-off-by: Broc Going <bgoing@micron.com>
Adds HAVE_SIGACTION check and updates amzn-nvme to use signal if
sigaction is not supported.

Signed-off-by: Broc Going <bgoing>
Adds windows compatibility wrappers for common functions
used by nvme-cli and plugins.

Signed-off-by: Broc Going <bgoing@micron.com>
@pull pull Bot locked and limited conversation to collaborators May 16, 2026
@pull pull Bot added the ⤵️ pull label May 16, 2026
@pull pull Bot merged commit 62adbc3 into zengqingfu1442:master May 16, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant