diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2013-07-04 11:36:50 -0700 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2013-07-04 11:36:50 -0700 |
commit | 697a067f1ec67f2f8dfafd0a1b95a46997a11f32 (patch) | |
tree | 7f0f4bc39ee00944fdc45fd447a0527f77a9582a /drivers/md/raid1.c | |
parent | e61aca5158a84932cf9fbbcbf8aef9cef63f5026 (diff) | |
parent | 1376512065b23f39d5f9a160948f313397dde972 (diff) | |
download | kernel_replicant_linux-697a067f1ec67f2f8dfafd0a1b95a46997a11f32.tar.gz kernel_replicant_linux-697a067f1ec67f2f8dfafd0a1b95a46997a11f32.tar.bz2 kernel_replicant_linux-697a067f1ec67f2f8dfafd0a1b95a46997a11f32.zip |
Merge tag 'md-3.11' of git://neil.brown.name/md
Pull md updates from NeilBrown:
"Mostly fixes, with a few minor features (eg 'last_sync_action' sysfs
file)
A couple marked for -stable including one recent bug which causes a
RAID10 reshape to complete without moving any data :-(
A couple more bugfixes (at least) to come, but haven't confirmed the
right solution yet."
* tag 'md-3.11' of git://neil.brown.name/md:
md/raid10: fix bug which causes all RAID10 reshapes to move no data.
md/raid5: allow 5-device RAID6 to be reshaped to 4-device.
md/raid10: fix two bugs affecting RAID10 reshape.
md: remove doubled description for sync_max, merging it within sync_min/sync_max
MD: Remember the last sync operation that was performed
md: fix buglet in RAID5 -> RAID0 conversion.
md/raid10: check In_sync flag in 'enough()'.
md/raid10: locking changes for 'enough()'.
md: replace strict_strto*() with kstrto*()
md: Wait for md_check_recovery before attempting device removal.
dm-raid: silence compiler warning on rebuilds_per_group.
DM RAID: Fix raid_resume not reviving failed devices in all cases
DM RAID: Break-up untidy function
DM RAID: Add ability to restore transiently failed devices on resume
Diffstat (limited to 'drivers/md/raid1.c')
-rw-r--r-- | drivers/md/raid1.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/drivers/md/raid1.c b/drivers/md/raid1.c index 6e17f8181c4b..ec734588a1c6 100644 --- a/drivers/md/raid1.c +++ b/drivers/md/raid1.c @@ -1519,8 +1519,9 @@ static int raid1_add_disk(struct mddev *mddev, struct md_rdev *rdev) p = conf->mirrors+mirror; if (!p->rdev) { - disk_stack_limits(mddev->gendisk, rdev->bdev, - rdev->data_offset << 9); + if (mddev->gendisk) + disk_stack_limits(mddev->gendisk, rdev->bdev, + rdev->data_offset << 9); p->head_position = 0; rdev->raid_disk = mirror; @@ -1559,7 +1560,7 @@ static int raid1_add_disk(struct mddev *mddev, struct md_rdev *rdev) clear_bit(Unmerged, &rdev->flags); } md_integrity_add_rdev(rdev, mddev); - if (blk_queue_discard(bdev_get_queue(rdev->bdev))) + if (mddev->queue && blk_queue_discard(bdev_get_queue(rdev->bdev))) queue_flag_set_unlocked(QUEUE_FLAG_DISCARD, mddev->queue); print_conf(conf); return err; |