Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit bfc9dfdc authored by Shaohua Li's avatar Shaohua Li
Browse files

MD: cleanup resources in failure



We need destroy the memory pool in failure

Signed-off-by: default avatarShaohua Li <shli@fb.com>
parent 9ffc59d5
Loading
Loading
Loading
Loading
+5 −3
Original line number Original line Diff line number Diff line
@@ -5547,7 +5547,8 @@ int md_run(struct mddev *mddev)
		else
		else
			pr_warn("md: personality for level %s is not loaded!\n",
			pr_warn("md: personality for level %s is not loaded!\n",
				mddev->clevel);
				mddev->clevel);
		return -EINVAL;
		err = -EINVAL;
		goto abort;
	}
	}
	spin_unlock(&pers_lock);
	spin_unlock(&pers_lock);
	if (mddev->level != pers->level) {
	if (mddev->level != pers->level) {
@@ -5560,7 +5561,8 @@ int md_run(struct mddev *mddev)
	    pers->start_reshape == NULL) {
	    pers->start_reshape == NULL) {
		/* This personality cannot handle reshaping... */
		/* This personality cannot handle reshaping... */
		module_put(pers->owner);
		module_put(pers->owner);
		return -EINVAL;
		err = -EINVAL;
		goto abort;
	}
	}


	if (pers->sync_request) {
	if (pers->sync_request) {
@@ -5629,7 +5631,7 @@ int md_run(struct mddev *mddev)
		mddev->private = NULL;
		mddev->private = NULL;
		module_put(pers->owner);
		module_put(pers->owner);
		bitmap_destroy(mddev);
		bitmap_destroy(mddev);
		return err;
		goto abort;
	}
	}
	if (mddev->queue) {
	if (mddev->queue) {
		bool nonrot = true;
		bool nonrot = true;