md/raid0: If md_integrity_register() fails, raid0_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
98d5561bfb
commit
0366ef8475
@ -407,6 +407,8 @@ static sector_t raid0_size(struct mddev *mddev, sector_t sectors, int raid_disks
|
|||||||
return array_sectors;
|
return array_sectors;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static int raid0_stop(struct mddev *mddev);
|
||||||
|
|
||||||
static int raid0_run(struct mddev *mddev)
|
static int raid0_run(struct mddev *mddev)
|
||||||
{
|
{
|
||||||
struct r0conf *conf;
|
struct r0conf *conf;
|
||||||
@ -454,7 +456,12 @@ static int raid0_run(struct mddev *mddev)
|
|||||||
|
|
||||||
blk_queue_merge_bvec(mddev->queue, raid0_mergeable_bvec);
|
blk_queue_merge_bvec(mddev->queue, raid0_mergeable_bvec);
|
||||||
dump_zones(mddev);
|
dump_zones(mddev);
|
||||||
return md_integrity_register(mddev);
|
|
||||||
|
ret = md_integrity_register(mddev);
|
||||||
|
if (ret)
|
||||||
|
raid0_stop(mddev);
|
||||||
|
|
||||||
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int raid0_stop(struct mddev *mddev)
|
static int raid0_stop(struct mddev *mddev)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user