diff options
Diffstat (limited to 'drivers/md/raid0.c')
-rw-r--r-- | drivers/md/raid0.c | 12 |
1 files changed, 5 insertions, 7 deletions
diff --git a/drivers/md/raid0.c b/drivers/md/raid0.c index 01dfca94b663..a13f738a7b39 100644 --- a/drivers/md/raid0.c +++ b/drivers/md/raid0.c | |||
@@ -415,7 +415,7 @@ static sector_t raid0_size(struct mddev *mddev, sector_t sectors, int raid_disks | |||
415 | return array_sectors; | 415 | return array_sectors; |
416 | } | 416 | } |
417 | 417 | ||
418 | static int raid0_stop(struct mddev *mddev); | 418 | static void raid0_free(struct mddev *mddev, void *priv); |
419 | 419 | ||
420 | static int raid0_run(struct mddev *mddev) | 420 | static int raid0_run(struct mddev *mddev) |
421 | { | 421 | { |
@@ -468,20 +468,18 @@ static int raid0_run(struct mddev *mddev) | |||
468 | 468 | ||
469 | ret = md_integrity_register(mddev); | 469 | ret = md_integrity_register(mddev); |
470 | if (ret) | 470 | if (ret) |
471 | raid0_stop(mddev); | 471 | raid0_free(mddev, conf); |
472 | 472 | ||
473 | return ret; | 473 | return ret; |
474 | } | 474 | } |
475 | 475 | ||
476 | static int raid0_stop(struct mddev *mddev) | 476 | static void raid0_free(struct mddev *mddev, void *priv) |
477 | { | 477 | { |
478 | struct r0conf *conf = mddev->private; | 478 | struct r0conf *conf = priv; |
479 | 479 | ||
480 | kfree(conf->strip_zone); | 480 | kfree(conf->strip_zone); |
481 | kfree(conf->devlist); | 481 | kfree(conf->devlist); |
482 | kfree(conf); | 482 | kfree(conf); |
483 | mddev->private = NULL; | ||
484 | return 0; | ||
485 | } | 483 | } |
486 | 484 | ||
487 | /* | 485 | /* |
@@ -715,7 +713,7 @@ static struct md_personality raid0_personality= | |||
715 | .owner = THIS_MODULE, | 713 | .owner = THIS_MODULE, |
716 | .make_request = raid0_make_request, | 714 | .make_request = raid0_make_request, |
717 | .run = raid0_run, | 715 | .run = raid0_run, |
718 | .stop = raid0_stop, | 716 | .free = raid0_free, |
719 | .status = raid0_status, | 717 | .status = raid0_status, |
720 | .size = raid0_size, | 718 | .size = raid0_size, |
721 | .takeover = raid0_takeover, | 719 | .takeover = raid0_takeover, |