Skip to content

feat: add stripingv2 to default rbd featureset#650

Merged
sabaini merged 5 commits intocanonical:mainfrom
sabaini:feat/update-rbd-features
Nov 24, 2025
Merged

feat: add stripingv2 to default rbd featureset#650
sabaini merged 5 commits intocanonical:mainfrom
sabaini:feat/update-rbd-features

Conversation

@sabaini
Copy link
Copy Markdown
Collaborator

@sabaini sabaini commented Nov 20, 2025

Description

Add stripingv2 to the rbd features enabled by default. Client kernels > 5.3 should be ok with this. Add some docs for older clients on how to downgrade rbd features in case of incompat.

Add tests, refactor a bit.

Type of change

Delete options that are not relevant.

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to not work as expected)
  • Clean code (code refactor, test updates; does not introduce functional changes)
  • Documentation update (change to documentation only)

How has this been tested?

Updated unit test, add functest verif.

Contributor checklist

Please check that you have:

  • self-reviewed the code in this PR
  • added code comments, particularly in less straightforward areas
  • checked and added or updated relevant documentation
  • checked and added or updated relevant release notes
  • added tests to verify effectiveness of this change

Add stripingv2 to the rbd features enabled by default. Client kernels
> 5.3 should be ok with this. Add some docs for older clients on how
to downgrade rbd features in case of incompat.

Add tests, refactor a bit.

Signed-off-by: Peter Sabaini <peter.sabaini@canonical.com>
Signed-off-by: Peter Sabaini <peter.sabaini@canonical.com>
Signed-off-by: Peter Sabaini <peter.sabaini@canonical.com>
@sabaini sabaini requested review from lmlg and skoech November 21, 2025 10:06
// 63 = layering + exclusive-lock + object-map + fast-diff + deep-flatten + stripingv2
err = SetConfigItem(apiTypes.Config{
Key: "rbd_default_features",
Value: "63",
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

I'm generally OK with these changes, but I wanted to know first how you reached the magic number 63, and whether it's a stable value or if we have to maintain different constants for different Ceph versions.

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

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

Ack, added some comments

Signed-off-by: Peter Sabaini <peter.sabaini@canonical.com>
Comment thread docs/how-to/mount-block-device.rst Outdated

$ sudo rbd feature disable block_pool/bd_foo object-map fast-diff deep-flatten

To change the default behaviour for the cluster, you can update the ``rbd_default_features`` config option:
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Here (and in a few sections below), I'd suggest a bit more authoritative language, i.e. remove the "you can" to give users more confidence and direction/not feel like there are other options to consider (unless there are).

Copy link
Copy Markdown
Collaborator

@skoech skoech left a comment

Choose a reason for hiding this comment

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

Thanks, @sabaini. Left a comment, otherwise LGTM.

Signed-off-by: Peter Sabaini <peter.sabaini@canonical.com>
@sabaini sabaini requested a review from skoech November 24, 2025 11:46
Copy link
Copy Markdown
Collaborator

@skoech skoech left a comment

Choose a reason for hiding this comment

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

Thanks, @sabaini.

@sabaini sabaini merged commit 9c99d97 into canonical:main Nov 24, 2025
41 of 43 checks passed
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