xref: /linux/drivers/md/dm-exception-store.c (revision b233b28eac0cc37d07c2d007ea08c86c778c5af4)
1 /*
2  * Copyright (C) 2001-2002 Sistina Software (UK) Limited.
3  * Copyright (C) 2006-2008 Red Hat GmbH
4  *
5  * This file is released under the GPL.
6  */
7 
8 #include "dm-exception-store.h"
9 
10 #include <linux/mm.h>
11 #include <linux/pagemap.h>
12 #include <linux/vmalloc.h>
13 #include <linux/slab.h>
14 
15 #define DM_MSG_PREFIX "snapshot exception stores"
16 
17 int dm_exception_store_init(void)
18 {
19 	int r;
20 
21 	r = dm_transient_snapshot_init();
22 	if (r) {
23 		DMERR("Unable to register transient exception store type.");
24 		goto transient_fail;
25 	}
26 
27 	r = dm_persistent_snapshot_init();
28 	if (r) {
29 		DMERR("Unable to register persistent exception store type");
30 		goto persistent_fail;
31 	}
32 
33 	return 0;
34 
35 persistent_fail:
36 	dm_persistent_snapshot_exit();
37 transient_fail:
38 	return r;
39 }
40 
41 void dm_exception_store_exit(void)
42 {
43 	dm_persistent_snapshot_exit();
44 	dm_transient_snapshot_exit();
45 }
46