From: NeilBrown Date: Thu, 4 Jun 2009 02:29:21 +0000 (+1000) Subject: super-intel: fix test on failed_disk_num. X-Git-Tag: mdadm-3.0.1~10 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=4291d691b66f65695b5b4be22b80fd00da73b544;p=thirdparty%2Fmdadm.git super-intel: fix test on failed_disk_num. We sometimes set failed_disk_num to ~0. However we cannot test for equality with that as failed_disk_num is 8bit and ~0 is probably 32bit with lots of 1's. So test if ~failed_disk_num is 0 instead. Reported-By: "Mr. James W. Laferriere" Signed-off-by: NeilBrown --- diff --git a/super-intel.c b/super-intel.c index 73fe5faa..7e2a086d 100644 --- a/super-intel.c +++ b/super-intel.c @@ -3629,7 +3629,7 @@ static int mark_failure(struct imsm_dev *dev, struct imsm_disk *disk, int idx) disk->status |= FAILED_DISK; set_imsm_ord_tbl_ent(map, slot, idx | IMSM_ORD_REBUILD); - if (map->failed_disk_num == ~0) + if (~map->failed_disk_num == 0) map->failed_disk_num = slot; return 1; }