github truenas/truenas-proxmox-plugin v2.1.24-beta2
2.1.24~beta2

pre-release3 hours ago

Highlights

Bug fix on top of 2.1.24~beta1 for GitHub #131 (dsmitty166).

nvme_device_for_uuid: gate the emergency reconnect on in-use (#131)

The post-150-iteration "emergency reconnect" in _nvme_device_for_uuid was running unconditionally once an activate_volume could not find its target UUID. In the alpha26 trade-off that was accepted as "~500 ms controller drop beats a guaranteed activate failure", but a multi-tenant deployment hit the pathological case: unrelated running consumers of the shared NVMe/TCP subsystem had QEMU escalate on the I/O pause, ended up with /dev/nvmeN (deleted) handles, and needed a full VM restart to recover.

Fix: when any device on the shared subsystem is open by another process on this host, refuse the emergency reconnect, fail this activate_volume cleanly, and log a SKIPPED entry that references #131 and tells the admin to verify the namespace on TrueNAS and manually nvme disconnect+nvme connect the subsystem when it is safe to do so. The fail-safe behavior is preserved — if fuser is not installed on the host, the gate still skips. An unused subsystem (no other consumers) still goes through the emergency reconnect.

Validation

Verified end-to-end against the test cluster with a sleep 300 holding /dev/nvme0n1 open: positive case logs SKIPPED and leaves the subsystem controller untouched; negative case still fires the EMERGENCY RECONNECT path and the kernel completes a disconnect+reconnect cycle.

New unit tests (t/nvme/06-emergency-reconnect-gate.t, 14 subtests) cover the in-use skip, the idle pass-through, and the fuser-missing fail-safe. Full t/nvme/*.t suite passes (179 subtests).

Install

Debian/Proxmox package attached. Install with:

dpkg -i truenas-proxmox-plugin_2.1.24~beta2_all.deb

Verify integrity with the attached SHA256SUMS.

Full Changelog: v2.1.24-beta1...v2.1.24-beta2

Don't miss a new truenas-proxmox-plugin release

NewReleases is sending notifications on new releases.