diff options
Diffstat (limited to 'fs/dlm/main.c')
-rw-r--r-- | fs/dlm/main.c | 97 |
1 files changed, 97 insertions, 0 deletions
diff --git a/fs/dlm/main.c b/fs/dlm/main.c new file mode 100644 index 000000000000..a8da8dc36b2e --- /dev/null +++ b/fs/dlm/main.c | |||
@@ -0,0 +1,97 @@ | |||
1 | /****************************************************************************** | ||
2 | ******************************************************************************* | ||
3 | ** | ||
4 | ** Copyright (C) Sistina Software, Inc. 1997-2003 All rights reserved. | ||
5 | ** Copyright (C) 2004-2005 Red Hat, Inc. All rights reserved. | ||
6 | ** | ||
7 | ** This copyrighted material is made available to anyone wishing to use, | ||
8 | ** modify, copy, or redistribute it subject to the terms and conditions | ||
9 | ** of the GNU General Public License v.2. | ||
10 | ** | ||
11 | ******************************************************************************* | ||
12 | ******************************************************************************/ | ||
13 | |||
14 | #include "dlm_internal.h" | ||
15 | #include "lockspace.h" | ||
16 | #include "lock.h" | ||
17 | #include "user.h" | ||
18 | #include "memory.h" | ||
19 | #include "lowcomms.h" | ||
20 | #include "config.h" | ||
21 | |||
22 | #ifdef CONFIG_DLM_DEBUG | ||
23 | int dlm_register_debugfs(void); | ||
24 | void dlm_unregister_debugfs(void); | ||
25 | #else | ||
26 | static inline int dlm_register_debugfs(void) { return 0; } | ||
27 | static inline void dlm_unregister_debugfs(void) { } | ||
28 | #endif | ||
29 | |||
30 | static int __init init_dlm(void) | ||
31 | { | ||
32 | int error; | ||
33 | |||
34 | error = dlm_memory_init(); | ||
35 | if (error) | ||
36 | goto out; | ||
37 | |||
38 | error = dlm_lockspace_init(); | ||
39 | if (error) | ||
40 | goto out_mem; | ||
41 | |||
42 | error = dlm_config_init(); | ||
43 | if (error) | ||
44 | goto out_lockspace; | ||
45 | |||
46 | error = dlm_register_debugfs(); | ||
47 | if (error) | ||
48 | goto out_config; | ||
49 | |||
50 | error = dlm_lowcomms_init(); | ||
51 | if (error) | ||
52 | goto out_debug; | ||
53 | |||
54 | error = dlm_user_init(); | ||
55 | if (error) | ||
56 | goto out_lowcomms; | ||
57 | |||
58 | printk("DLM (built %s %s) installed\n", __DATE__, __TIME__); | ||
59 | |||
60 | return 0; | ||
61 | |||
62 | out_lowcomms: | ||
63 | dlm_lowcomms_exit(); | ||
64 | out_debug: | ||
65 | dlm_unregister_debugfs(); | ||
66 | out_config: | ||
67 | dlm_config_exit(); | ||
68 | out_lockspace: | ||
69 | dlm_lockspace_exit(); | ||
70 | out_mem: | ||
71 | dlm_memory_exit(); | ||
72 | out: | ||
73 | return error; | ||
74 | } | ||
75 | |||
76 | static void __exit exit_dlm(void) | ||
77 | { | ||
78 | dlm_user_exit(); | ||
79 | dlm_lowcomms_exit(); | ||
80 | dlm_config_exit(); | ||
81 | dlm_memory_exit(); | ||
82 | dlm_lockspace_exit(); | ||
83 | dlm_unregister_debugfs(); | ||
84 | } | ||
85 | |||
86 | module_init(init_dlm); | ||
87 | module_exit(exit_dlm); | ||
88 | |||
89 | MODULE_DESCRIPTION("Distributed Lock Manager"); | ||
90 | MODULE_AUTHOR("Red Hat, Inc."); | ||
91 | MODULE_LICENSE("GPL"); | ||
92 | |||
93 | EXPORT_SYMBOL_GPL(dlm_new_lockspace); | ||
94 | EXPORT_SYMBOL_GPL(dlm_release_lockspace); | ||
95 | EXPORT_SYMBOL_GPL(dlm_lock); | ||
96 | EXPORT_SYMBOL_GPL(dlm_unlock); | ||
97 | |||