On Mon, 2015-12-28 at 19:03 -0500, Sanidhya Solanki wrote: > That sounds like an absolutely ghastly idea. *G* and it probably is ;) > Lots of potential for > mistakes and potential data loss. I take up the offer to implement > such a feature.  > Only question is should it be in-place replacement or replace out to > another disk or storage type. Will wait for comments on that question > before implementing.  I guess you really should have a decent discussion with some of the core btrfs developers (which I am not) before doing any efforts on this (and possibly wasting great amounts of work). I spoke largely from the user/admin side,... running a quite big storage Tier-2, we did many IO benchmarks over time (with different hardware RAID controllers) and also as our IO patterns changed over time... The result was that our preferred RAID chunk sizes changed over time,... Being able to to an online conversion (i.e. on the mounted fs) would be nice of course (from the sysadmin's side of view) but even if that doesn't seem feasible an offline conversion may be useful (one simply may not have enough space left elsewhere to move the data of and create a new fs with different RAID chunk size from scratch) Both open of course many questions (how to deal with crashes, etc.)... maybe having a look at how mdadm handles similar problems could be worth. > I do not understand this part. I just wanted to say that being able to set the RAID chunk size makes sense for any RAID level,... not just for e.g. the parity RAIDs. > Is the stripe size not independent of > the RAID type? Perhaps one should first do some normative definitions... Based on e.g. https://en.wikipedia.org/wiki/File:RAID_6.svg I'd use: RAID chunk size: the size of A1 which equals the size of A2, and also of B2 and so on IIRC, e2fsprogs call this the stride size (with a "d" not a "p") RAID stripe size: I personally would typically understand this to be the size of A1A2A3 together (which is equal to the one of B1B2B3 and so on). But I've seen literature, software, people using it as a synonym for the RAID chunk size  and some consider the stripe size to be also include the parity, which in the RAID6 example would make it the length of A1A2A3ApAq. So I usually try to use "RAID data stripe size" or "RAID data+paritiy stripe size" btrfs chunk size = size of a btrfs data or meta-data chunk Cheers, Chris.