From: Gioh Kim Date: Tue, 6 Nov 2018 15:20:17 +0000 (+0100) Subject: Assemble: mask FAILFAST and WRITEMOSTLY flags when finding the most recent device X-Git-Tag: mdadm-4.2-rc1~126 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=563ac108659980b3d1e226fe416254a86656235f;p=thirdparty%2Fmdadm.git Assemble: mask FAILFAST and WRITEMOSTLY flags when finding the most recent device If devices[].i.disk.state has MD_DISK_FAILFAST or MD_DISK_WRITEMOSTLY flag, it cannot be the most recent device. Both flags should be masked before checking the state. Reviewed-by: NeilBrown Signed-off-by: Gioh Kim Signed-off-by: Jes Sorensen --- diff --git a/Assemble.c b/Assemble.c index f39c9e1c..9f75c68c 100644 --- a/Assemble.c +++ b/Assemble.c @@ -578,6 +578,7 @@ static int load_devices(struct devs *devices, char *devmap, struct supertype *tst; int i; int dfd; + int disk_state; if (tmpdev->used != 1) continue; @@ -711,7 +712,9 @@ static int load_devices(struct devs *devices, char *devmap, devices[devcnt].i.disk.major = major(stb.st_rdev); devices[devcnt].i.disk.minor = minor(stb.st_rdev); - if (devices[devcnt].i.disk.state == 6) { + disk_state = devices[devcnt].i.disk.state & ~((1< devices[most_recent].i.events) {