Files
pulse/docs/release-control
rcourtman 425dd0d45b Keep same-serial disks on different machines apart
findMatch refuses a physical-disk candidate under another parent, but
ingestRecord then minted the same hardware-keyed canonical ID from the
serial and merged into its holder on the collision. Disks that report
one usable serial on several machines (dual-ported SAS shelves, cloned
VMs with an explicit serial, fixed-serial USB bridges, TrueNAS systems)
collapsed into one resource parented to whichever machine ingested
last, and every other machine lost the disk from inventory.

A new disk now resolves its parent to a machine (the nearest host
ancestor, so pools and Unraid arrays count as their host) and stays
apart only on evidence: one reporter placing the serial on two
machines, or machines whose hostnames share nothing. Reporters on one
box still join across grouping parents, so the TrueNAS API and the
agent on that box stay one disk, and an unknown machine never splits a
disk.

Once a serial spans machines, every copy takes the serial keyed to its
own machine and the unscoped holder is re-keyed, so IDs do not depend
on machine ingest order and the unscoped ID never passes between disks
that coexist. A disk only one machine reports keeps its ID. Operator
splits now hold on this path; the old collision merge ignored them.
The registry indexes disks by hardware key because the identity
matcher keeps one resource per machine ID.
2026-10-07 12:56:47 +01:00
..