Skip to content

DAOS-19772 control: Handle non-zero PCI domains in hotplug filter (#19259) - #19481

Open
tanabarr wants to merge 1 commit into
release/2.8from
tanabarr/control-hotplug-pcidomain-rel2_8
Open

tanabarr wants to merge 1 commit into
release/2.8from
tanabarr/control-hotplug-pcidomain-rel2_8

Conversation

@tanabarr

@tanabarr tanabarr commented Nov 7, 2026 •

Copy link
Copy Markdown
Contributor

bdev_busid_range assumed PCI domain 0x0000 and only encoded an 8-bit
bus-ID range. On multi-PCI-segment platforms with non-zero domains,
this silently filtered the wrong bus-IDs (DAOS-19772: a hot-plugged
drive was claimed by the wrong engine).

Add bdev_hotplug_range, a config array of PCI domain + bus-ID-range
entries (one domain per entry; plain hex, no "0x" prefix, matching
ordinary PCI address formatting), replacing the legacy domain-0x00-
only bdev_busid_range (kept for backward compatibility). When unset,
ranges are now auto-derived directly from bdev_list's actual PCI
addresses instead of NUMA-node topology, collapsing only truly-
contiguous bus-IDs so the filter never admits an address absent from
bdev_list; VMD still allows all. Thread the resulting ranges through
to the SPDK JSON config and bio_config.c's hotplug_filter_fn, which
now matches domain+bus-ID per entry instead of a single bus-ID range.

Update daos_server.yml/admin guide to describe only the automatic
behavior; manual syntax is retained only in the design doc and
src/control/server/storage/README.md as an undocumented, experimental
escape hatch. Decimal notation is no longer accepted, hex only.

Add design/control/hotplug-pci-domain-design.md.

Features: control

Steps for the author:

  • Commit message follows the guidelines.
  • Appropriate Features or Test-tag pragmas were used.
  • Appropriate Functional Test Stages were run.
  • At least two positive code reviews including at least one code owner from each category referenced in the PR.
  • Testing is complete. If necessary, forced-landing label added and a reason added in a comment.

After all prior steps are complete:

  • Gatekeeper requested (daos-gatekeeper added as a reviewer).

Features: control
Signed-off-by: Tom Nabarro <thomas.nabarro@hpe.com>
@tanabarr
tanabarr requested review from a team as code owners November 7, 2026 14:00
@github-actions

github-actions Bot commented Nov 7, 2026

Copy link
Copy Markdown

Ticket title is 'Hot-plugged drive claimed by the wrong engine'
Status is 'In Review'
Labels: 'request_for_2.8.2'
https://daosio.atlassian.net/browse/DAOS-19772

@tanabarr
tanabarr requested review from knard38 and removed request for a team November 7, 2026 14:01
@tanabarr tanabarr changed the title DAOS-19772 control: Handle non-zero PCI domains in hotplug filter DAOS-19772 control: Handle non-zero PCI domains in hotplug filter (#19259) Nov 7, 2026
@tanabarr
tanabarr requested review from kjacque and mjmac November 7, 2026 14:06
@tanabarr tanabarr self-assigned this Nov 7, 2026

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

1 participant