diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2013-06-13 13:13:29 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2013-06-13 13:13:29 -0400 |
commit | 82ea4be61f45d1a7ba1f5151d90124d1ece0c07a (patch) | |
tree | 2d2e89a3074d8385478ca5c4b5918f3552d3c25e /drivers/md/raid5.c | |
parent | b844db31874e3b1c3b86c65024ac7bed9f77ee42 (diff) | |
parent | 5026d7a9b2f3eb1f9bda66c18ac6bc3036ec9020 (diff) |
Merge tag 'md-3.10-fixes' of git://neil.brown.name/md
Pull md bugfixes from Neil Brown:
"A few bugfixes for md
Some tagged for -stable"
* tag 'md-3.10-fixes' of git://neil.brown.name/md:
md/raid1,5,10: Disable WRITE SAME until a recovery strategy is in place
md/raid1,raid10: use freeze_array in place of raise_barrier in various places.
md/raid1: consider WRITE as successful only if at least one non-Faulty and non-rebuilding drive completed it.
md: md_stop_writes() should always freeze recovery.
Diffstat (limited to 'drivers/md/raid5.c')
-rw-r--r-- | drivers/md/raid5.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/md/raid5.c b/drivers/md/raid5.c index 753f318c8984..05e4a105b9c7 100644 --- a/drivers/md/raid5.c +++ b/drivers/md/raid5.c | |||
@@ -5466,7 +5466,7 @@ static int run(struct mddev *mddev) | |||
5466 | if (mddev->major_version == 0 && | 5466 | if (mddev->major_version == 0 && |
5467 | mddev->minor_version > 90) | 5467 | mddev->minor_version > 90) |
5468 | rdev->recovery_offset = reshape_offset; | 5468 | rdev->recovery_offset = reshape_offset; |
5469 | 5469 | ||
5470 | if (rdev->recovery_offset < reshape_offset) { | 5470 | if (rdev->recovery_offset < reshape_offset) { |
5471 | /* We need to check old and new layout */ | 5471 | /* We need to check old and new layout */ |
5472 | if (!only_parity(rdev->raid_disk, | 5472 | if (!only_parity(rdev->raid_disk, |
@@ -5589,6 +5589,8 @@ static int run(struct mddev *mddev) | |||
5589 | */ | 5589 | */ |
5590 | mddev->queue->limits.discard_zeroes_data = 0; | 5590 | mddev->queue->limits.discard_zeroes_data = 0; |
5591 | 5591 | ||
5592 | blk_queue_max_write_same_sectors(mddev->queue, 0); | ||
5593 | |||
5592 | rdev_for_each(rdev, mddev) { | 5594 | rdev_for_each(rdev, mddev) { |
5593 | disk_stack_limits(mddev->gendisk, rdev->bdev, | 5595 | disk_stack_limits(mddev->gendisk, rdev->bdev, |
5594 | rdev->data_offset << 9); | 5596 | rdev->data_offset << 9); |