This commit was manufactured by cvs2svn to create branch 'vserver'.
[linux-2.6.git] / fs / gfs2 / locking / dlm / main.c
1 /*
2  * Copyright (C) Sistina Software, Inc.  1997-2003 All rights reserved.
3  * Copyright (C) 2004-2005 Red Hat, Inc.  All rights reserved.
4  *
5  * This copyrighted material is made available to anyone wishing to use,
6  * modify, copy, or redistribute it subject to the terms and conditions
7  * of the GNU General Public License version 2.
8  */
9
10 #include <linux/init.h>
11
12 #include "lock_dlm.h"
13
14 extern struct lm_lockops gdlm_ops;
15
16 static int __init init_lock_dlm(void)
17 {
18         int error;
19
20         error = gfs2_register_lockproto(&gdlm_ops);
21         if (error) {
22                 printk(KERN_WARNING "lock_dlm:  can't register protocol: %d\n",
23                        error);
24                 return error;
25         }
26
27         error = gdlm_sysfs_init();
28         if (error) {
29                 gfs2_unregister_lockproto(&gdlm_ops);
30                 return error;
31         }
32
33         error = gdlm_plock_init();
34         if (error) {
35                 gdlm_sysfs_exit();
36                 gfs2_unregister_lockproto(&gdlm_ops);
37                 return error;
38         }
39
40         printk(KERN_INFO
41                "Lock_DLM (built %s %s) installed\n", __DATE__, __TIME__);
42         return 0;
43 }
44
45 static void __exit exit_lock_dlm(void)
46 {
47         gdlm_plock_exit();
48         gdlm_sysfs_exit();
49         gfs2_unregister_lockproto(&gdlm_ops);
50 }
51
52 module_init(init_lock_dlm);
53 module_exit(exit_lock_dlm);
54
55 MODULE_DESCRIPTION("GFS DLM Locking Module");
56 MODULE_AUTHOR("Red Hat, Inc.");
57 MODULE_LICENSE("GPL");
58