On Mon, Nov 05 2018, Gioh Kim wrote: > Before updating superblock of slave disks, desired_state value > is set for the target state of the slave disks. But it forgets > to check MD_DISK_FAILFAST flag. Then start_arrays() calls > ADD_NEW_DISK ioctl-call and pass the state without MD_DISK_FAILFAST. > > Currenlty it does not generate any problem because kernel does not > care MD_DISK_FAILFAST flag. > > Signed-off-by: Gioh Kim <gi-oh.kim@xxxxxxxxxxxxxxxx> > --- > Assemble.c | 3 +++ > 1 file changed, 3 insertions(+) > > diff --git a/Assemble.c b/Assemble.c > index a79466c..fc0d464 100644 > --- a/Assemble.c > +++ b/Assemble.c > @@ -1704,6 +1704,9 @@ try_again: > else > desired_state = (1<<MD_DISK_ACTIVE) | (1<<MD_DISK_SYNC); > > + if (devices[j].i.disk.state & (1<<MD_DISK_FAILFAST)) > + desired_state |= (1<<MD_DISK_FAILFAST); > + > if (!devices[j].uptodate) > continue; > This looks right, but I think we should preserve MD_DISK_WRITEMOSTLY as well. So maybe desired_state |= devices[j].i.disk_state & ((1<<MD_DISK_FAILFAST) | (1<<MD_DISK_WRITEMOSTLY)); NeilBrown > -- > 2.14.1
Attachment:
signature.asc
Description: PGP signature