Skip to content

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

Merged
pull[bot] merged 8 commits into
zengqingfu1442:masterfrom
linux-nvme:master
Jun 19, 2026
Merged

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

Conversation

@pull

@pull pull Bot commented Jun 19, 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 : )

ikegami-t and others added 8 commits June 19, 2026 16:31
This is for the deprecated command option.

Signed-off-by: Tokunori Ikegami <ikegami.t@gmail.com>
Since the option is duplicated with the verbose option.
Also introduce it as an alias for verbose on global level.

Signed-off-by: Tokunori Ikegami <ikegami.t@gmail.com>
rename __nvme_transport_handle_open_direct to
__libnvme_transport_handle_open_direct.
Implement functionality for the windows
__libnvme_transport_handle_open_direct function.

Signed-off-by: Brandon Capener <bcapener@micron.com>
Add a primitive that reports whether a controller uses a fabrics
transport, so callers need not open-code strcmp() against the local
transports ("pcie"/"apple-nvme").  Defined by exclusion, so a newly
added transport is treated as fabrics by default.

Signed-off-by: Martin Belanger <martin.belanger@dell.com>
Assisted-by: Claude:claude-opus-4-8 [Claude Code]
Multiple orchestrators (nvme-stas, nvme-discoverd, NBFT) can connect
NVMe-oF controllers on the same host simultaneously, with no way to
tell which tool manages which controller.  Commands like disconnect-all
are therefore indiscriminate and can disrupt running daemons.

Add a registry under /run/nvme/registry/ so orchestrators can declare
and respect ownership of connected controllers.  One directory per
controller, one plain-text file per attribute — no json-c dependency,
trivially inspectable with cat(1), naturally extensible.

Signed-off-by: Martin Belanger <martin.belanger@dell.com>
Assisted-by: Claude:claude-sonnet-4-6 [Claude Code]
Add the registry commands as a plugin ('nvme registry list / retrieve /
update / delete').  Being a plugin, they are selectable via -Dplugins and
kept separate from the general-purpose NVMe commands, reflecting that they
are orchestration tools rather than everyday NVMe operations.

'nvme list -v' gains an Orchestrator column so operators can see at a
glance which tool manages each connected controller.

Signed-off-by: Martin Belanger <martin.belanger@dell.com>
Assisted-by: Claude:claude-sonnet-4-6 [Claude Code]
When an owner name is set in the global context, a registry entry is
automatically written after every successful fabrics connect.  This lets
orchestrators declare ownership without any explicit registration call.

A process records its orchestrator identity with libnvme_set_owner()
after creating the global context; processes that do not participate in
the registry simply never call it.  connect-all --nbft sets "nbft",
registering boot-volume controllers so they are protected from accidental
disconnection.

disconnect-all is now ownership-aware by default: only unowned controllers
are disconnected.  --owner NAME targets a specific orchestrator; --force
restores the original unconditional behaviour.  Both prompt for
confirmation on a terminal.

The application field and its filtering mechanism are removed from
libnvme_global_ctx and libnvme_subsystem (along with the connect --context
option that only fed it).  The application mechanism assumed all
orchestrators share a JSON config file, which does not hold for NBFT,
nvme-stas, or nvme-discoverd.  The registry solves the same coordination
problem without that assumption.

Signed-off-by: Martin Belanger <martin.belanger@dell.com>
Assisted-by: Claude:claude-sonnet-4-6 [Claude Code]
Add man pages for the four registry plugin subcommands:
  nvme-registry-list(1)
  nvme-registry-retrieve(1)
  nvme-registry-update(1)
  nvme-registry-delete(1)

Update nvme-disconnect-all(1) to document the new ownership-aware
default behavior and the --owner, --force, and --transport options.

Signed-off-by: Martin Belanger <martin.belanger@dell.com>
Assisted-by: Claude:claude-sonnet-4-6 [Claude Code]
@pull pull Bot locked and limited conversation to collaborators Jun 19, 2026
@pull pull Bot added the ⤵️ pull label Jun 19, 2026
@pull
pull Bot merged commit 8469ba7 into zengqingfu1442:master Jun 19, 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.

2 participants