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 and MD_DISK_WRITEMOSTLY flags. Then start_arrays() calls ADD_NEW_DISK ioctl-call and pass the state without MD_DISK_FAILFAST and MD_DISK_WRITEMOSTLY. Currenlty it does not generate any problem because kernel does not care MD_DISK_FAILFAST or MD_DISK_WRITEMOSTLY flags. 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..8355a6c 100644 --- a/Assemble.c +++ b/Assemble.c @@ -1704,6 +1704,9 @@ try_again: else desired_state = (1<<MD_DISK_ACTIVE) | (1<<MD_DISK_SYNC); + desired_state |= devices[j].i.disk_state & ((1<<MD_DISK_FAILFAST) | + (1<<MD_DISK_WRITEMOSTLY)); + if (!devices[j].uptodate) continue; -- 2.14.1