Skip to content

Take advantage of zbus bug fix#4008

Open
jbaublitz wants to merge 1 commit into
stratis-storage:masterfrom
jbaublitz:pr-zbus-1771
Open

Take advantage of zbus bug fix#4008
jbaublitz wants to merge 1 commit into
stratis-storage:masterfrom
jbaublitz:pr-zbus-1771

Conversation

@jbaublitz

@jbaublitz jbaublitz commented Apr 21, 2026

Copy link
Copy Markdown
Member

Summary by CodeRabbit

  • Bug Fixes

    • Improved error handling for pool and filesystem property updates, making failures more consistent and clearer.
    • Fixed several cases where missing resources now return the standard “not found” style error.
    • Property setters for pool size limits, overprovisioning, merge scheduling, and filesystem size limits now report errors more reliably across interfaces.
  • Chores

    • Updated a bundled dependency to a newer compatible version.

@jbaublitz jbaublitz self-assigned this Apr 21, 2026
@jbaublitz jbaublitz moved this to Pending in 2026April Apr 21, 2026
@jbaublitz jbaublitz added this to the v3.9.1 milestone Apr 21, 2026
@jbaublitz

Copy link
Copy Markdown
Member Author

@mulkieran We can merge this once the next release of zbus comes out.

@mulkieran

Copy link
Copy Markdown
Member

We will put this out in a bug fix release once zbus 5.15.0 is released in Fedora.

@mulkieran mulkieran added this to 2026May May 1, 2026
@mulkieran mulkieran removed this from 2026April May 1, 2026
@mulkieran mulkieran moved this to Pending in 2026May May 1, 2026
@mulkieran

Copy link
Copy Markdown
Member

Still pending as no change yet in Fedora: https://src.fedoraproject.org/rpms/rust-zbus

@mulkieran mulkieran removed this from 2026May Jun 1, 2026
@mulkieran mulkieran moved this to Pending in 2026June Jun 1, 2026
@mulkieran

Copy link
Copy Markdown
Member

zbus crate 0.16.0 is out since about 10 days ago.

@mulkieran

Copy link
Copy Markdown
Member

@jbaublitz Please change zbus spec in Cargo.toml to 5.15.0 (from git branch).

@jbaublitz jbaublitz moved this from Pending to In Review in 2026June Jun 10, 2026
@mulkieran mulkieran moved this from In Review to Pending in 2026June Jun 10, 2026
@mulkieran

Copy link
Copy Markdown
Member

/packit build

@jbaublitz

Copy link
Copy Markdown
Member Author

@mulkieran Does this need changes on your end or should I investigate the failures?

@mulkieran

mulkieran commented Jun 11, 2026

Copy link
Copy Markdown
Member

@mulkieran Does this need changes on your end or should I investigate the failures?

@jbaublitz I've taken a look at the failures and put up fixes in related repos. You can ignore the failures.

@mulkieran mulkieran modified the milestones: v3.9.1, v3.9.2 Jun 22, 2026
@mulkieran

Copy link
Copy Markdown
Member

This should build in rawhide now.

@mulkieran mulkieran removed this from 2026June Jul 6, 2026
@mulkieran mulkieran moved this to In Progress in 2026July Jul 6, 2026
zbus has fixed the problem with fallible async setters with an immutable
receiver. This patch modifies all of our setter code to use the newly
available error type which will result in a standard D-Bus error name
when reported by dbus-monitor.
@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-4008-copr_pull
  • And now you can install the packages.

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

@jbaublitz

Copy link
Copy Markdown
Member Author

@mulkieran For some reason it looks like it's still failing to build.

@mulkieran

Copy link
Copy Markdown
Member

@jbaublitz It's building in rawhide, which is all we should expect at this point. For the other releases the updates will land at the end of the week. So all seems satisfactory at this point.

@mulkieran mulkieran moved this from In Progress to Pending in 2026July Jul 7, 2026
@mulkieran

Copy link
Copy Markdown
Member

@coderabbitai review

@coderabbitai

coderabbitai Bot commented Jul 7, 2026

Copy link
Copy Markdown
✅ Action performed

Review finished.

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 Jul 7, 2026

Copy link
Copy Markdown

Review Change Stack

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: 326d42d8-065a-4f6e-8962-44005ce7b968

📥 Commits

Reviewing files that changed from the base of the PR and between 7a48553 and 0a59a7d.

⛔ Files ignored due to path filters (1)
  • Cargo.lock is excluded by !**/*.lock
📒 Files selected for processing (21)
  • Cargo.toml
  • src/dbus/blockdev/blockdev_3_3/props.rs
  • src/dbus/blockdev/shared.rs
  • src/dbus/filesystem/filesystem_3_6/mod.rs
  • src/dbus/filesystem/filesystem_3_6/props.rs
  • src/dbus/filesystem/filesystem_3_7/mod.rs
  • src/dbus/filesystem/filesystem_3_7/props.rs
  • src/dbus/filesystem/filesystem_3_8/mod.rs
  • src/dbus/filesystem/filesystem_3_9/mod.rs
  • src/dbus/filesystem/shared.rs
  • src/dbus/pool/pool_3_1/mod.rs
  • src/dbus/pool/pool_3_1/props.rs
  • src/dbus/pool/pool_3_2/mod.rs
  • src/dbus/pool/pool_3_3/mod.rs
  • src/dbus/pool/pool_3_4/mod.rs
  • src/dbus/pool/pool_3_5/mod.rs
  • src/dbus/pool/pool_3_6/mod.rs
  • src/dbus/pool/pool_3_7/mod.rs
  • src/dbus/pool/pool_3_8/mod.rs
  • src/dbus/pool/pool_3_9/mod.rs
  • src/dbus/pool/shared.rs

Walkthrough

This PR bumps the zbus dependency to 5.15.0 and migrates DBus property setter error handling from zbus::Error/Error::Failure to zbus::fdo::Error/Error::Failed across blockdev, filesystem, and pool modules, including shared helper functions and generated interface implementations for multiple interface revisions.

Changes

zbus fdo::Error migration

Layer / File(s) Summary
Dependency version bump
Cargo.toml
Updates the zbus dependency from 5.12.0 to 5.15.0.
Blockdev error migration
src/dbus/blockdev/shared.rs, src/dbus/blockdev/blockdev_3_3/props.rs
Switches the shared set_blockdev_prop future error type and set_user_info_prop error paths to zbus::fdo::Error/Error::Failed.
Filesystem error migration
src/dbus/filesystem/shared.rs, src/dbus/filesystem/filesystem_3_6/*, filesystem_3_7/*, filesystem_3_8/mod.rs, filesystem_3_9/mod.rs
Updates set_filesystem_prop and the set_merge_scheduled/set_size_limit interface methods across revisions 3.6–3.9 to use zbus::fdo::Error/Error::Failed.
Pool error migration
src/dbus/pool/shared.rs, src/dbus/pool/pool_3_1/*pool_3_9/mod.rs
Updates set_pool_prop, get_pool_mut, and the set_fs_limit/set_overprovisioning interface methods across revisions 3.1–3.9 to use zbus::fdo::Error/Error::Failed.

Estimated code review effort: 2 (Simple) | ~12 minutes

Possibly related PRs

  • stratis-storage/stratisd#3945: Same zbus-migration effort adjusting DBus helper error wiring to zbus::fdo::Error/Error::Failed in shared property-setting code.

Suggested labels: maintenance

Suggested reviewers: mulkieran

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 inconclusive)

Check name Status Explanation Resolution
Title check ❓ Inconclusive The title is related to the zbus update, but it is too vague to convey the specific setter error-type change. Use a more specific title, such as changing D-Bus setters to use zbus fdo errors or updating zbus error handling for async setters.
✅ Passed checks (4 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ 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.

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

Projects

Status: Pending

Development

Successfully merging this pull request may close these issues.

2 participants