Hi Neil, > On Sep 9, 2019, at 7:57 AM, NeilBrown <neilb@xxxxxxx> wrote: > > > If the drives in a RAID0 are not all the same size, the array is > divided into zones. > The first zone covers all drives, to the size of the smallest. > The second zone covers all drives larger than the smallest, up to > the size of the second smallest - etc. > > A change in Linux 3.14 unintentionally changed the layout for the > second and subsequent zones. All the correct data is still stored, but > each chunk may be assigned to a different device than in pre-3.14 kernels. > This can lead to data corruption. > > It is not possible to determine what layout to use - it depends which > kernel the data was written by. > 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. > > Fixes: 20d0189b1012 ("block: Introduce new bio_split()") > cc: stable@xxxxxxxxxxxxxxx (3.14+) > Signed-off-by: NeilBrown <neilb@xxxxxxx> Thanks for the patches. They look great. However, I am having problem apply them (not sure whether it is a problem on my side). Could you please push it somewhere so I can use cherry-pick instead? Thanks, Song