forked from luck/tmp_suning_uos_patched
md/raid1: If md_integrity_register() failed,run() must free the mem
Signed-off-by: majianpeng <majianpeng@gmail.com> Signed-off-by: NeilBrown <neilb@suse.de>
This commit is contained in:
parent
0366ef8475
commit
5220ea1e64
@ -2636,11 +2636,13 @@ static struct r1conf *setup_conf(struct mddev *mddev)
|
||||
return ERR_PTR(err);
|
||||
}
|
||||
|
||||
static int stop(struct mddev *mddev);
|
||||
static int run(struct mddev *mddev)
|
||||
{
|
||||
struct r1conf *conf;
|
||||
int i;
|
||||
struct md_rdev *rdev;
|
||||
int ret;
|
||||
|
||||
if (mddev->level != 1) {
|
||||
printk(KERN_ERR "md/raid1:%s: raid level not set to mirroring (%d)\n",
|
||||
@ -2705,7 +2707,11 @@ static int run(struct mddev *mddev)
|
||||
mddev->queue->backing_dev_info.congested_data = mddev;
|
||||
blk_queue_merge_bvec(mddev->queue, raid1_mergeable_bvec);
|
||||
}
|
||||
return md_integrity_register(mddev);
|
||||
|
||||
ret = md_integrity_register(mddev);
|
||||
if (ret)
|
||||
stop(mddev);
|
||||
return ret;
|
||||
}
|
||||
|
||||
static int stop(struct mddev *mddev)
|
||||
|
Loading…
Reference in New Issue
Block a user