This commit was manufactured by cvs2svn to create branch 'vserver'.
[linux-2.6.git] / fs / gfs2 / locking / dlm / main.c
diff --git a/fs/gfs2/locking/dlm/main.c b/fs/gfs2/locking/dlm/main.c
new file mode 100644 (file)
index 0000000..a0e7eda
--- /dev/null
@@ -0,0 +1,58 @@
+/*
+ * Copyright (C) Sistina Software, Inc.  1997-2003 All rights reserved.
+ * Copyright (C) 2004-2005 Red Hat, Inc.  All rights reserved.
+ *
+ * This copyrighted material is made available to anyone wishing to use,
+ * modify, copy, or redistribute it subject to the terms and conditions
+ * of the GNU General Public License version 2.
+ */
+
+#include <linux/init.h>
+
+#include "lock_dlm.h"
+
+extern struct lm_lockops gdlm_ops;
+
+static int __init init_lock_dlm(void)
+{
+       int error;
+
+       error = gfs2_register_lockproto(&gdlm_ops);
+       if (error) {
+               printk(KERN_WARNING "lock_dlm:  can't register protocol: %d\n",
+                      error);
+               return error;
+       }
+
+       error = gdlm_sysfs_init();
+       if (error) {
+               gfs2_unregister_lockproto(&gdlm_ops);
+               return error;
+       }
+
+       error = gdlm_plock_init();
+       if (error) {
+               gdlm_sysfs_exit();
+               gfs2_unregister_lockproto(&gdlm_ops);
+               return error;
+       }
+
+       printk(KERN_INFO
+              "Lock_DLM (built %s %s) installed\n", __DATE__, __TIME__);
+       return 0;
+}
+
+static void __exit exit_lock_dlm(void)
+{
+       gdlm_plock_exit();
+       gdlm_sysfs_exit();
+       gfs2_unregister_lockproto(&gdlm_ops);
+}
+
+module_init(init_lock_dlm);
+module_exit(exit_lock_dlm);
+
+MODULE_DESCRIPTION("GFS DLM Locking Module");
+MODULE_AUTHOR("Red Hat, Inc.");
+MODULE_LICENSE("GPL");
+