git: 0a189197d8 - main - 2026Q3 status: storage stack improvements

From: Warner Losh <imp_at_FreeBSD.org>
Date: Wed, 21 Oct 2026 21:03:34 UTC
The branch main has been updated by imp:

URL: https://cgit.FreeBSD.org/doc/commit/?id=0a189197d8e55c1128b623fa1e2a342c9333fea8

commit 0a189197d8e55c1128b623fa1e2a342c9333fea8
Author:     Warner Losh <imp@FreeBSD.org>
AuthorDate: 2026-10-19 01:01:12 +0000
Commit:     Warner Losh <imp@FreeBSD.org>
CommitDate: 2026-10-21 21:01:39 +0000

    2026Q3 status: storage stack improvements
    
    Add a report on the storage stack
---
 .../storage-improvements.adoc                      | 33 ++++++++++++++++++++++
 1 file changed, 33 insertions(+)

diff --git a/website/content/en/status/report-2026-07-2026-09/storage-improvements.adoc b/website/content/en/status/report-2026-07-2026-09/storage-improvements.adoc
new file mode 100644
index 0000000000..a6482279be
--- /dev/null
+++ b/website/content/en/status/report-2026-07-2026-09/storage-improvements.adoc
@@ -0,0 +1,33 @@
+=== Storage Discovery and Diagnostics Improvements
+
+Links: +
+link:https://reviews.freebsd.org/D58523[CAM lifecycle DTrace probes] URL: link:https://reviews.freebsd.org/D58523[] +
+link:https://reviews.freebsd.org/D58527[CAM peripheral invalidation events] URL: link:https://reviews.freebsd.org/D58527[] +
+link:https://reviews.freebsd.org/D58528[mpsutil discovery information] URL: link:https://reviews.freebsd.org/D58528[]
+
+Contact: Warner Losh <imp@FreeBSD.org>
+
+Several changes this quarter made storage-device discovery easier to observe and diagnose, particularly during boot.
+
+The CAM DTrace provider gained probes for peripheral I/O errors, error recovery, and peripheral invalidation.
+Additional probes report when CAM holds or releases the boot process and when a new bus is registered.
+Together these probes cover much more of the path from initial bus discovery through the creation of disk peripherals.
+They can also be used with DTrace anonymous tracing to investigate problems that happen before the system reaches multi-user operation.
+The new probes are documented in man:dtrace_cam[4].
+
+CAM now sends a man:devctl[4] notification when a peripheral is invalidated.
+The notification includes the device serial number when available, or its CAM path otherwise, so system-management software can identify the device that disappeared.
+The common code used to construct CAM notifications was factored out to support this and future event types.
+
+Two fixes improved the handling of disks that fail during probing.
+CAM now stops probing after a peripheral has been invalidated instead of sending more commands to an abandoned device, where they could cause long timeouts and confusing errors.
+A related condition for deciding when to invalidate a disk was corrected.
+Errors reported for NVMe disks through the CAM `nda` peripheral now identify the command set, making command opcodes easier to interpret.
+
+man:mpsutil[8] gained a `show discovery` command that prints the controller's discovery tables.
+This exposes the controller's view of attached SAS devices and expanders and is useful when diagnosing devices that are missing or attached through an unexpected path.
+
+Finally, man:nvmecontrol[8] received correctness fixes for Autonomous Power State Transition data.
+Transition values are now encoded without intermediate integer overflow, and identify data reporting an excessive number of power states is handled with a bounds check rather than an assertion.
+
+Sponsor: Netflix