Re: [RFC 00/15] btrfs: RAID5 with RAID stripe-tree (zoned + non-zoned)
Johannes Thumshirn <[email protected]>
| Newsgroups | org.kernel.vger.linux-btrfs |
|---|---|
| Message-ID | <[email protected]> |
On 6/21/26 1:35 AM, Qu Wenruo wrote: > > And that in theory removes the need for RAID56 rotation, or the need > to have a fixed stripe length. > > One of the reason that RAID56 needs rotation is to avoid sub-stripe > writes causing too much workload for the P/Q stripe, but since we > never over-write in this case, we can even skip the rotation part. > > Without rotation, it can further improve partial writes, mentioned below. [...] > > One thing I'm not sure if, do the RAID56 RST still requires the > existing 64K stripe len. > > E.g. if there is a partial tail that is nr_data * blocksize aligned, > but not reaching full nr_data * 64K. > > In that case, we can just map that partial write into all devices > without extra padding, aka variable stripe length. [...] > > Then limit the RAID56 chunk allocator to always allocate power-of-2 > number of data devices. > > This completely removes the need of partial stripe handling. No we can definitively do that. We could also ditch the RAID5 rotation (as you said) and go to a RAID4 style parity device (or more for higher order parities).