2.6.32.28 update
/drivers/md/md.c
blob:2c66c7ea32007985fde4d164e1a8c0859fe6ea50 -> blob:0352746824596940713760f57bff737e10aae0b8
--- drivers/md/md.c
+++ drivers/md/md.c
@@ -3959,6 +3959,9 @@ static int md_alloc(dev_t dev, char *nam
goto abort;
mddev->queue->queuedata = mddev;
+ /* Can be unlocked because the queue is new: no concurrency */
+ queue_flag_set_unlocked(QUEUE_FLAG_CLUSTER, mddev->queue);
+
blk_queue_make_request(mddev->queue, md_make_request);
disk = alloc_disk(1 << shift);
@@ -4799,7 +4802,7 @@ static int add_new_disk(mddev_t * mddev,
PTR_ERR(rdev));
return PTR_ERR(rdev);
}
- /* set saved_raid_disk if appropriate */
+ /* set save_raid_disk if appropriate */
if (!mddev->persistent) {
if (info->state & (1<<MD_DISK_SYNC) &&
info->raid_disk < mddev->raid_disks)
@@ -4809,10 +4812,7 @@ static int add_new_disk(mddev_t * mddev,
} else
super_types[mddev->major_version].
validate_super(mddev, rdev);
- if (test_bit(In_sync, &rdev->flags))
- rdev->saved_raid_disk = rdev->raid_disk;
- else
- rdev->saved_raid_disk = -1;
+ rdev->saved_raid_disk = rdev->raid_disk;
clear_bit(In_sync, &rdev->flags); /* just to be sure */
if (info->state & (1<<MD_DISK_WRITEMOSTLY))