|
@@ -2411,24 +2411,6 @@ static int __init dm_snapshot_init(void)
|
|
|
return r;
|
|
|
}
|
|
|
|
|
|
- r = dm_register_target(&snapshot_target);
|
|
|
- if (r < 0) {
|
|
|
- DMERR("snapshot target register failed %d", r);
|
|
|
- goto bad_register_snapshot_target;
|
|
|
- }
|
|
|
-
|
|
|
- r = dm_register_target(&origin_target);
|
|
|
- if (r < 0) {
|
|
|
- DMERR("Origin target register failed %d", r);
|
|
|
- goto bad_register_origin_target;
|
|
|
- }
|
|
|
-
|
|
|
- r = dm_register_target(&merge_target);
|
|
|
- if (r < 0) {
|
|
|
- DMERR("Merge target register failed %d", r);
|
|
|
- goto bad_register_merge_target;
|
|
|
- }
|
|
|
-
|
|
|
r = init_origin_hash();
|
|
|
if (r) {
|
|
|
DMERR("init_origin_hash failed.");
|
|
@@ -2449,19 +2431,37 @@ static int __init dm_snapshot_init(void)
|
|
|
goto bad_pending_cache;
|
|
|
}
|
|
|
|
|
|
+ r = dm_register_target(&snapshot_target);
|
|
|
+ if (r < 0) {
|
|
|
+ DMERR("snapshot target register failed %d", r);
|
|
|
+ goto bad_register_snapshot_target;
|
|
|
+ }
|
|
|
+
|
|
|
+ r = dm_register_target(&origin_target);
|
|
|
+ if (r < 0) {
|
|
|
+ DMERR("Origin target register failed %d", r);
|
|
|
+ goto bad_register_origin_target;
|
|
|
+ }
|
|
|
+
|
|
|
+ r = dm_register_target(&merge_target);
|
|
|
+ if (r < 0) {
|
|
|
+ DMERR("Merge target register failed %d", r);
|
|
|
+ goto bad_register_merge_target;
|
|
|
+ }
|
|
|
+
|
|
|
return 0;
|
|
|
|
|
|
-bad_pending_cache:
|
|
|
- kmem_cache_destroy(exception_cache);
|
|
|
-bad_exception_cache:
|
|
|
- exit_origin_hash();
|
|
|
-bad_origin_hash:
|
|
|
- dm_unregister_target(&merge_target);
|
|
|
bad_register_merge_target:
|
|
|
dm_unregister_target(&origin_target);
|
|
|
bad_register_origin_target:
|
|
|
dm_unregister_target(&snapshot_target);
|
|
|
bad_register_snapshot_target:
|
|
|
+ kmem_cache_destroy(pending_cache);
|
|
|
+bad_pending_cache:
|
|
|
+ kmem_cache_destroy(exception_cache);
|
|
|
+bad_exception_cache:
|
|
|
+ exit_origin_hash();
|
|
|
+bad_origin_hash:
|
|
|
dm_exception_store_exit();
|
|
|
|
|
|
return r;
|