On Tue, Oct 8, 2019 at 1:17 AM Andreas Klauer <Andreas.Klauer@xxxxxxxxxxxxxx> wrote: > > 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...? > ) Thanks Andreas! David, you may consider adding "raid0.default_layout=?" to your kernel command line options. Song