diff options
Diffstat (limited to 'drivers/md/raid1.c')
| -rw-r--r-- | drivers/md/raid1.c | 6 | 
1 files changed, 3 insertions, 3 deletions
diff --git a/drivers/md/raid1.c b/drivers/md/raid1.c index 39fb21e048e6..c7c8cde0ab21 100644 --- a/drivers/md/raid1.c +++ b/drivers/md/raid1.c @@ -570,7 +570,7 @@ static int read_balance(struct r1conf *conf, struct r1bio *r1_bio, int *max_sect  			if (best_dist_disk < 0) {  				if (is_badblock(rdev, this_sector, sectors,  						&first_bad, &bad_sectors)) { -					if (first_bad < this_sector) +					if (first_bad <= this_sector)  						/* Cannot use this */  						continue;  					best_good_sectors = first_bad - this_sector; @@ -1474,8 +1474,8 @@ static void raid1_error(struct mddev *mddev, struct md_rdev *rdev)  	 * if recovery is running, make sure it aborts.  	 */  	set_bit(MD_RECOVERY_INTR, &mddev->recovery); -	set_bit(MD_CHANGE_DEVS, &mddev->flags); -	set_bit(MD_CHANGE_PENDING, &mddev->flags); +	set_mask_bits(&mddev->flags, 0, +		      BIT(MD_CHANGE_DEVS) | BIT(MD_CHANGE_PENDING));  	printk(KERN_ALERT  	       "md/raid1:%s: Disk failure on %s, disabling device.\n"  	       "md/raid1:%s: Operation continuing on %d devices.\n",  |