dm snapshot: free exception store on init failure
While initializing the snapshot module, if we fail to register the snapshot target then we must back-out the exception store module initialization. Cc: stable@kernel.org Signed-off-by: Jonathan Brassow <jbrassow@redhat.com> Reviewed-by: Mikulas Patocka <mpatocka@redhat.com> Reviewed-by: Mike Snitzer <snitzer@redhat.com> Signed-off-by: Alasdair G Kergon <agk@redhat.com>
This commit is contained in:
parent
6d45d93ead
commit
034a186d29
@ -1470,7 +1470,7 @@ static int __init dm_snapshot_init(void)
|
|||||||
r = dm_register_target(&snapshot_target);
|
r = dm_register_target(&snapshot_target);
|
||||||
if (r) {
|
if (r) {
|
||||||
DMERR("snapshot target register failed %d", r);
|
DMERR("snapshot target register failed %d", r);
|
||||||
return r;
|
goto bad_register_snapshot_target;
|
||||||
}
|
}
|
||||||
|
|
||||||
r = dm_register_target(&origin_target);
|
r = dm_register_target(&origin_target);
|
||||||
@ -1527,6 +1527,9 @@ bad2:
|
|||||||
dm_unregister_target(&origin_target);
|
dm_unregister_target(&origin_target);
|
||||||
bad1:
|
bad1:
|
||||||
dm_unregister_target(&snapshot_target);
|
dm_unregister_target(&snapshot_target);
|
||||||
|
|
||||||
|
bad_register_snapshot_target:
|
||||||
|
dm_exception_store_exit();
|
||||||
return r;
|
return r;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user