Martin Belanger 997a3f5e1f nvme-discoverd: disconnect only after the _netdev mounts are unmounted
At shutdown, the ExecStop= of a connection unit disconnects the
controller. The unit was not ordered against the mounts, so it could
disconnect a controller while a file system on its namespace was still
mounted. XFS then shut down the file system, and the next mount needed
log recovery.

Order the unit before remote-fs-pre.target, so that it stops only after
the _netdev mounts are unmounted. The target is passive, so the unit
also wants it.

Document that a file system on an NVMe-oF namespace needs _netdev.

Signed-off-by: Martin Belanger <martin.belanger@dell.com>
2026-10-28 16:51:17 +01:00
2026-09-15 19:38:39 +02:00
2022-01-07 17:00:05 +01:00
2026-03-10 14:13:15 +01:00
2026-10-10 17:51:21 +02:00
2015-06-02 09:27:54 -06:00
2026-10-28 10:11:15 +01:00

nvme-cli and libnvme

nvme-cli is the command line tool for managing NVMe devices. It is built on the libnvme library. Together they support local NVMe drives, NVMe-oF fabrics (TCP, RDMA, FC), and many vendor-specific plugins.

For more information on the NVM Express standard, see https://nvmexpress.org.

The project is developed on GitHub at https://github.com/linux-nvme/nvme-cli.

Subscribe to linux-nvme@lists.infradead.org for Linux NVMe discussions and development. The list is archived at https://lists.infradead.org/mailman/listinfo/linux-nvme

Shared nvme-cli libnvme
Build MesonBuild PyBuild
Static analysis Coverity Scan Build Status clang-analyzer
Test coverage codecov
Docs nvme-cli Docs libnvme Docs
Package PyPI PyPI - Wheel
License nvme-cli License libnvme License

Quick start

$ meson setup .build
$ meson compile -C .build
# meson install -C .build

It is also packaged by most Linux distributions (Alpine, Arch, Debian, Fedora, FreeBSD, Gentoo, Ubuntu, Nix(OS), openSUSE, ...) as nvme-cli.

Once installed, find the top-level documentation with man nvme, or a short summary with nvme help.

Documentation

Topic Where
Building from source: dependencies, alternative build systems, packaging, plugin selection BUILDING.md
Configuring host identity, NVMe-oF connections, and multi-orchestrator coordination CONFIGURATION.md
Pre-built binaries, reproducing CI builds, memory/sanitizer testing TESTING.md
libnvme coverage against NVMe specifications, chapter by chapter SPEC-COVERAGE.md
Privilege separation and the decoder sandbox: design, threat model, helper protocol PRIVSEP.md
Command/plugin man pages man nvme, or browse Documentation
Contributing: adding commands/plugins, API naming, commit & PR workflow CONTRIBUTING.md
Reporting security vulnerabilities SECURITY.md
Release history NEWS.md

AI-assisted development resources live in the companion repository nvme-cli-ai; see CONTRIBUTING.md for how they fit into the workflow.

S
Description
No description provided
Readme GPL-2.0 71 MiB
Languages
C 70.1%
Python 16.5%
Shell 4.3%
Roff 3%
PowerShell 2.9%
Other 3.1%