]> git.ipfire.org Git - thirdparty/mdadm.git/commitdiff
Assemble: keep MD_DISK_FAILFAST and MD_DISK_WRITEMOSTLY flag
authorGioh Kim <gi-oh.kim@profitbricks.com>
Tue, 6 Nov 2018 14:27:42 +0000 (15:27 +0100)
committerJes Sorensen <jsorensen@fb.com>
Thu, 6 Dec 2018 12:41:13 +0000 (07:41 -0500)
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.

Reviewed-by: NeilBrown <neilb@suse.com>
Signed-off-by: Gioh Kim <gi-oh.kim@profitbricks.com>
Signed-off-by: Jes Sorensen <jsorensen@fb.com>
Assemble.c

index a79466c6cf0c1ba570cf3fc8e0d4d1ea78cc825c..f39c9e1cdf9c37dc5158937e00f329ac86ed79c7 100644 (file)
@@ -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;