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

Enhance Pool size calculation re new raid levels #2525

Closed
phillxnet opened this issue Mar 29, 2023 · 4 comments
Closed

Enhance Pool size calculation re new raid levels #2525

phillxnet opened this issue Mar 29, 2023 · 4 comments
Assignees

Comments

@phillxnet
Copy link
Member

phillxnet commented Mar 29, 2023

In "Add mixed raid levels #2520 #2524" we extend our available raid options to for example raid1c3 & raid1c4 however our existing Pool size algorithm does not account for these raid levels.
Our algorithm is adapted from Hugo Mills' implementation at:
http://carfax.org.uk/btrfs-usage/js/btrfs-usage.js As referenced in our code comments, which should be updated to the
either the now elm generated: https://carfax.org.uk/btrfs-usage/elm.js
or the current website as a whole:
https://carfax.org.uk/btrfs-usage/
and GitHub repo:
https://github.com/darkling/btrfs-usage

It is proposed that we extend our PROFILE fs.btrfs variable to be able to inform our size calculator of each profiles required characteristics for size calculation. Currently these are hard-coded within the algorithm based on identifiable raid levels: with all of our newer RAID1C34 levels currently unknown. Along with all of our mixed raid levels introduced in the same (above reverenced) pull request.

@phillxnet phillxnet self-assigned this Mar 29, 2023
@phillxnet
Copy link
Member Author

The following upstream python3 python-btrfs library file should serve as a informative reference in this issue:

https://github.com/knorrie/python-btrfs/blob/master/btrfs/volumes.py

@phillxnet
Copy link
Member Author

Another key file to assist us here from python-btrfs is:
https://github.com/knorrie/python-btrfs/blob/master/bin/btrfs-space-calculator

@phillxnet phillxnet added this to the First Stable Poetry build milestone Mar 30, 2023
phillxnet added a commit to phillxnet/rockstor-core that referenced this issue Apr 3, 2023
Move static elements of raid levels to our overall PROFILE
var and do minor refactor of remaining size calculation
code to clarify parameters involved.
phillxnet added a commit to phillxnet/rockstor-core that referenced this issue Apr 3, 2023
@phillxnet
Copy link
Member Author

Noting that I have a work-in-progress pr pending for this issue. Almost there.

phillxnet added a commit to phillxnet/rockstor-core that referenced this issue Apr 17, 2023
Move static elements of raid levels to our overall PROFILE
var and do minor refactor of remaining size calculation
code to clarify parameters involved.
phillxnet added a commit to phillxnet/rockstor-core that referenced this issue Apr 17, 2023
Here we sacrifice some speed for flexibility.
phillxnet added a commit to phillxnet/rockstor-core that referenced this issue Apr 17, 2023
phillxnet added a commit to phillxnet/rockstor-core that referenced this issue Apr 19, 2023
Move static elements of raid levels to our overall PROFILE
var and do minor refactor of remaining size calculation
code to clarify parameters involved.
Improve flexibility re hard-wired chunk/stripe setting:
here we sacrifice some speed for flexibility.
phillxnet added a commit that referenced this issue Apr 25, 2023
…ation_re_new_raid_levels

Enhance Pool size calculation re new raid levels #2525
@phillxnet
Copy link
Member Author

Closing as:
Fixed by #2534

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

No branches or pull requests

1 participant