Skip to content

Conversation

@mkeeter
Copy link
Contributor

@mkeeter mkeeter commented Oct 15, 2025

This is a spin-off from #1791; it adds validation to crucible-downstairs but does not validate extent after receiving them during repair operations.

@mkeeter mkeeter requested review from Copilot and leftwo October 15, 2025 15:27
Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This PR adds a new verify subcommand to crucible-downstairs that validates the integrity of region data by checking that block hashes match their stored context slots.

Key Changes:

  • Adds verify subcommand to the crucible-downstairs CLI
  • Implements validation logic for raw extents that compares block data hashes against stored context slots
  • Validates in parallel using rayon for improved performance

Reviewed Changes

Copilot reviewed 6 out of 6 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
downstairs/src/main.rs Adds Verify subcommand enum variant and routes it to verify_region function
downstairs/src/lib.rs Exports new verify_region function from dump module
downstairs/src/extent.rs Adds validate trait method and public wrapper for extent validation
downstairs/src/extent_inner_raw.rs Implements validation logic for raw extents by reading and hashing blocks in bulk
downstairs/src/extent_inner_sqlite.rs Stubs out unimplemented validation for Sqlite extents
downstairs/src/dump.rs Implements verify_region function with parallel validation using rayon

Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.

@mkeeter mkeeter force-pushed the mkeeter/downstairs-validate branch from db67a9f to 13b1577 Compare October 15, 2025 15:34
@mkeeter mkeeter merged commit 4c3080a into main Oct 15, 2025
22 checks passed
@mkeeter mkeeter deleted the mkeeter/downstairs-validate branch October 15, 2025 17:07
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants