On Tue, Oct 08, 2019 at 12:09:12AM -0700, David F. wrote: > Hi, > > "So we add a module parameter to allow the old (0) or new (1) layout > to be specified, and refused to assemble an affected array if that > parameter is not set." Not 100% sure about this but I think it's new (1) and old (2) vs. unset (0). You can set it like any other kernel/module parameter or with sysfs in /sys/module/raid0/parameters/default_layout > Why couldn't it use an integrity logic check to determine which layout > version is used so it just works? Define integrity logic check. Check what and how? Same reason why md can't decide correctness on parity mismatch. So unfortunately this is outsourced to the sysadmins great and unmatched wisdom. Which is a difficult choice to make, as if I understand correctly, the corruption would be at the end of the device where it's harder to notice than if the superblock at the start was missing... Unless you know the mismatch-size raid0 was created a long time ago or running off old kernel, try new first, then old. ( What happens if you happen to have one RAID of each type? Shouldn't this be recorded in metadata then...? ) Regards Andreas Klauer