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 dm_exception_store_init(void)17int 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 dm_exception_store_exit(void)41void dm_exception_store_exit(void) 42 { 43 dm_persistent_snapshot_exit(); 44 dm_transient_snapshot_exit(); 45 } 46