Description of problem:
LVM RAID lags support for raid level reshaping (i.e. changing of the RAID algorithm such as raid5 left symmetric to asymmetric and changing the md chunk size) by utilizing the respective md raid features in the kernel via the device-mapper raid target.
Version-Release number of selected component (if applicable):
Steps to Reproduce:
Does not work yet
Any level reshaping does not work.
On conversions of the raid algorithms or the md chunk size (i.e. the lvm stripe size) via the lvconvert command, the changes have to be passed into kernel md via the device-mapper raid target; this requires an API addition to the md kernel core and it's utilization in the target (see seperate bzs)
Code's done and being reviewed/integrated.
Reshaping is copes with the conversion of the raid layout (e.g. raid5_ls -> raid5_n), the stripe size (e.g. 32k -> 64k) or the number of stripes (e.g. add 3 stripes to a raid set with 5 stripes; same for removing stripes) in a raid set.
Reshaping _never_ changes the raid level!
(Changing the level is a takeover (e.g. raid5_n -> raid0/striped))
Overview of raid LV types (i.e. layout algorithms for data and parity) to test:
Dimension of the test matrix for aforementioned levels:
1. convert from/to all the layout variations on each level with the
exception of raid10, where there's only one layout for now
2. convert the stripe size in each of those layouts;
stripe size must be > 4k and < regionsize
3. change the regionsize (lvconvert -R ...) on given RaidLVs
(e.g. to be able to grow the stripesize)
3. convert adding/removing stripes to any of those layouts
(-f option needed with lvconvert to remove stripes;
repeat when reshape finished to remove the freed legs)
4. combine 1-3, ie. convert layout and stripesize at the same time
5. add takeover conversions to the matrix:
- after having changed layout to any _n variants, convert levels down
- raid6_n_6 -> raid5/raid0/raid0_meta/striped
- raid5* -> raid6* (any raid5* layouts directly map to their
raid6 counterparts, e.g. raid5_rs to raid6_rs_6
Add linear -> striped conversions and vice versa to the matrix
Upstream commits e2354ea344c2 to 34caf8317243
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.
For information on the advisory, and where to find the updated
files, follow the link below.
If the solution does not work for you, open a new bug report.