Skip to content

Fix missing signal for blockdev size on block device growth#4032

Merged
mulkieran merged 1 commit into
stratis-storage:masterfrom
jbaublitz:issue-stratisd-4026
May 26, 2026
Merged

Fix missing signal for blockdev size on block device growth#4032
mulkieran merged 1 commit into
stratis-storage:masterfrom
jbaublitz:issue-stratisd-4026

Conversation

@jbaublitz

@jbaublitz jbaublitz commented May 21, 2026

Copy link
Copy Markdown
Member

Closes #4026

Summary by CodeRabbit

Release Notes

  • Bug Fixes
    • Block device physical size changes are now properly reported when storage operations update device configurations, ensuring accurate physical size tracking.

Review Change Stack

@jbaublitz jbaublitz added this to the v3.9.1 milestone May 21, 2026
@jbaublitz jbaublitz requested a review from mulkieran May 21, 2026 19:43
@jbaublitz jbaublitz self-assigned this May 21, 2026
@jbaublitz jbaublitz added the bug label May 21, 2026
@mulkieran mulkieran moved this to In Review in 2026May May 21, 2026
@mulkieran

Copy link
Copy Markdown
Member

@coderabbitai review

@coderabbitai

coderabbitai Bot commented May 21, 2026

Copy link
Copy Markdown
✅ Actions performed

Review triggered.

Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.

@coderabbitai

coderabbitai Bot commented May 21, 2026

Copy link
Copy Markdown

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: 0d23f6e3-2a7e-4e81-8bd9-0afd7ee9fc11

📥 Commits

Reviewing files that changed from the base of the PR and between 60bf841 and 1b7d805.

📒 Files selected for processing (2)
  • src/dbus/pool/pool_3_3/methods.rs
  • src/dbus/util.rs

Walkthrough

This pull request adds D-Bus signal emission for blockdev TotalPhysicalSize changes when a pool grow operation reports a device change. A new utility function broadcasts the signal across all blockdev interface versions, and the pool grow method integrates it by looking up the device path and triggering the signal emission.

Changes

Blockdev physical size notification on pool grow

Layer / File(s) Summary
D-Bus blockdev physical size signal utility
src/dbus/util.rs
Adds imports for BlockdevR0, BlockdevR1, and BlockdevR2 interface variants and a new exported async function send_blockdev_physical_size_signal that emits total_physical_size_changed signals across all blockdev interface versions (r0r9).
Pool grow method signal emission
src/dbus/pool/pool_3_3/methods.rs
Imports the new utility function and integrates it into the grow action's action.changed() handler to emit a blockdev physical size signal when the manager successfully resolves a device UUID to a block device path; logs a warning if the path is not found.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~12 minutes

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (4 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title accurately and concisely describes the main change: fixing a missing D-Bus signal for blockdev size when a block device is grown.
Linked Issues check ✅ Passed The PR implements the required fix by emitting the missing blockdev physical size signal when block devices grow, directly addressing issue #4026.
Out of Scope Changes check ✅ Passed All changes are directly scoped to fixing the missing blockdev physical size signal emission; no unrelated modifications detected.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@packit-as-a-service

Copy link
Copy Markdown

Congratulations! One of the builds has completed. 🍾

You can install the built RPMs by following these steps:

  • sudo dnf install -y 'dnf*-command(copr)'
  • dnf copr enable packit/stratis-storage-stratisd-4032-copr_pull
  • And now you can install the packages.

Please note that the RPMs should be used only in a testing environment.

@mulkieran mulkieran merged commit ac18c3d into stratis-storage:master May 26, 2026
45 checks passed
@github-project-automation github-project-automation Bot moved this from In Review to Done in 2026May May 26, 2026
@mulkieran mulkieran moved this from Done to Done(3) in 2026May May 26, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

No open projects
Status: Done(3)

Development

Successfully merging this pull request may close these issues.

D-Bus notification for blockdev TotalPhysicalSize is missing after GrowPhysicalDevice

2 participants