Skip to content

Update Crucible/Propolis, change gen -> generation#9387

Merged
leftwo merged 7 commits into
mainfrom
alan/cru-2007
Nov 13, 2025
Merged

Update Crucible/Propolis, change gen -> generation#9387
leftwo merged 7 commits into
mainfrom
alan/cru-2007

Conversation

@leftwo

@leftwo leftwo commented Nov 11, 2025

Copy link
Copy Markdown
Contributor

Update Propolis and Crucible

Crucible changes are:
Print file name for extents (#1811)
Add threads argument to crucible-downstairs verify (#1807)
Add --verbose option to crucible-verify-raw (#1806)
Restore --gen argument for binaries (#1805)
Bump to 2024 edition (#1799)
Perform reconciliation if all three downstairs are in live-repair (#1784)
Rename crucible-dtrace -> crucible-utils (#1803)
Add crucible-verify-raw and crucible-raw-extent packages (#1800)
Added extent-info to dump out region/extent/block specific offsets (#1797)

Propolis changes are:
Rework resource accessors to alleviate lock contention
Implement NVMe Doorbell Buffer feature
Overhaul block attachment and request dispatch
propolis-cli should be able to send TOML-defined CPU profiles (#943)
nvme: CQEs with command-specific error 0 are acceptable (#965)

I also changed a bunch of gen -> generation as that is now what Crucible has.

Alan Hanson added 2 commits November 11, 2025 20:41
Crucible changes are:
Print file name for extents (#1811)
Add threads argument to `crucible-downstairs verify` (#1807)
Add `--verbose` option to `crucible-verify-raw` (#1806)
Restore `--gen` argument for binaries (#1805)
Bump to 2024 edition (#1799)
Perform reconciliation if all three downstairs are in live-repair (#1784)
Rename crucible-dtrace -> crucible-utils (#1803)
Add `crucible-verify-raw` and `crucible-raw-extent packages` (#1800)
Added extent-info to dump out region/extent/block specific offsets (#1797)

Propolis changes are:
Rework resource accessors to alleviate lock contention
Implement NVMe Doorbell Buffer feature
Overhaul block attachment and request dispatch
propolis-cli should be able to send TOML-defined CPU profiles (#943)
nvme: CQEs with command-specific error 0 are acceptable (#965)
@leftwo leftwo requested a review from jmpesp November 11, 2025 23:43
@leftwo leftwo requested a review from mkeeter November 12, 2025 16:03
@jmpesp

jmpesp commented Nov 12, 2025

Copy link
Copy Markdown
Contributor

I wouldn't be comfortable with this going in unless there's a test for deserializing an existing VCR with "gen" instead of "generation". I thought there was one but apparently not?

@leftwo

leftwo commented Nov 12, 2025

Copy link
Copy Markdown
Contributor Author

I wouldn't be comfortable with this going in unless there's a test for deserializing an existing VCR with "gen" instead of "generation". I thought there was one but apparently not?

This is a good point.
Crucible has:

        #[serde(rename = "gen")]
        generation: u64,

I'm going to dig around in Omicron and see what it does.

@leftwo

leftwo commented Nov 12, 2025

Copy link
Copy Markdown
Contributor Author

FWIW, I make a tuf-repo from this PR and installed it onto Dublin.
All my instances came up and I'm sending IO to them now. No issues found.

@leftwo leftwo added this to the 18 milestone Nov 12, 2025
@leftwo leftwo added the storage Related to storage. label Nov 12, 2025
@leftwo leftwo merged commit 1d02ed3 into main Nov 13, 2025
18 checks passed
@leftwo leftwo deleted the alan/cru-2007 branch November 13, 2025 01:33
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

storage Related to storage.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants