hot_add_disk
if (!mddev->pers || !mddev->pers->hot_add_disk || !mddev->pers->hot_remove_disk)
if (mddev->pers->hot_add_disk(mddev, r)) {
.hot_add_disk = linear_add,
err = mddev->pers->hot_add_disk(mddev, rdev);
if (rdev->mddev->pers->hot_add_disk == NULL)
err = rdev->mddev->pers->hot_add_disk(rdev->mddev, rdev);
if (!mddev->pers->hot_add_disk) {
if (!mddev->pers->hot_add_disk) {
err = hot_add_disk(mddev, new_decode_dev(arg));
if (mddev->pers->hot_add_disk(mddev, rdev) == 0) {
int (*hot_add_disk) (struct mddev *mddev, struct md_rdev *rdev);
.hot_add_disk = raid1_add_disk,
.hot_add_disk = raid10_add_disk,
.hot_add_disk = raid5_add_disk,
.hot_add_disk = raid5_add_disk,
.hot_add_disk = raid5_add_disk,