Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat(rebuild): adding rebuild I/O verification #1459

Merged
merged 4 commits into from
Aug 16, 2023

Commits on Aug 15, 2023

  1. feat(core): improving block device abstraction interfaces

    Changes to `BlockDeviceHandle` trait:
    * `readv_blocks` and `writev_blocks` now accept `IoVec` slice instead of
      C-array of iovs and its length.
    * `ReadOptions` argument is now passed to `readv_blocks` instead of `read_at`.
    * New async methods added:
      - `readv_blocks_async`
      - `read_buf_blocks_async`
      - `writev_blocks_async`
      - `write_buf_blocks_async`
      These methods have default implementions in `BlockDeviceHandle`, based on
      `readv_blocks` and `writev_blocks` calls.
    * `read_at` and `write_at` are now deprecated.
    
    Rebuild task is changed to use `BlockDeviceHandle` methods.
    
    Signed-off-by: Dmitry Savitskiy <[email protected]>
    dsavitskiy committed Aug 15, 2023
    Configuration menu
    Copy the full SHA
    27ec7f4 View commit details
    Browse the repository at this point in the history
  2. feat(core): adding generic fault injection support

    Fault injections moved from nexus to core.
    Support for block-device level injection added.
    New 'testing' gRPC service added.
    Injections removed from v0 API.
    CLI is changed accordingly.
    
    Signed-off-by: Dmitry Savitskiy <[email protected]>
    dsavitskiy committed Aug 15, 2023
    Configuration menu
    Copy the full SHA
    777707b View commit details
    Browse the repository at this point in the history
  3. feat(rebuild): adding rebuild I/O verification

    At this moment rebuild verification is controlled via NEXUS_REBUILD_VERIFY
    shell var:
    - "fail": rebuild job fails if verification fails
    - "panic": I/O engine panics if verification fails
    - any other value or not set: do no verify
    
    Signed-off-by: Dmitry Savitskiy <[email protected]>
    dsavitskiy committed Aug 15, 2023
    Configuration menu
    Copy the full SHA
    0815d8a View commit details
    Browse the repository at this point in the history
  4. fix(ci): allowing bors try when submodule PR is not merged yet

    Signed-off-by: Dmitry Savitskiy <[email protected]>
    dsavitskiy committed Aug 15, 2023
    Configuration menu
    Copy the full SHA
    d1783cd View commit details
    Browse the repository at this point in the history