diff options
Diffstat (limited to 'drivers/md/raid1.c')
| -rw-r--r-- | drivers/md/raid1.c | 3 | 
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/md/raid1.c b/drivers/md/raid1.c index 7dc8026cf6ee..85505424f7a4 100644 --- a/drivers/md/raid1.c +++ b/drivers/md/raid1.c @@ -1496,12 +1496,13 @@ static void raid1_write_request(struct mddev *mddev, struct bio *bio,  		if (!r1_bio->bios[i])  			continue; -		if (first_clone && test_bit(WriteMostly, &rdev->flags)) { +		if (first_clone) {  			/* do behind I/O ?  			 * Not if there are too many, or cannot  			 * allocate memory, or a reader on WriteMostly  			 * is waiting for behind writes to flush */  			if (bitmap && +			    test_bit(WriteMostly, &rdev->flags) &&  			    (atomic_read(&bitmap->behind_writes)  			     < mddev->bitmap_info.max_write_behind) &&  			    !waitqueue_active(&bitmap->behind_wait)) {  |