]> git.ipfire.org Git - thirdparty/mdadm.git/commitdiff
super-intel: fix test on failed_disk_num.
authorNeilBrown <neilb@suse.de>
Thu, 4 Jun 2009 02:29:21 +0000 (12:29 +1000)
committerNeilBrown <neilb@suse.de>
Thu, 4 Jun 2009 02:29:21 +0000 (12:29 +1000)
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" <babydr@baby-dragons.com>
Signed-off-by: NeilBrown <neilb@suse.de>
super-intel.c

index 73fe5faae813ad08b9b4eb570c3f3491b315c443..7e2a086db9afa8093b44351e8482d60f5fa109c7 100644 (file)
@@ -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;
 }