| /* |
| * 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 int gdlm_drop_count; |
| extern int gdlm_drop_period; |
| |
| 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; |
| } |
| |
| gdlm_drop_count = GDLM_DROP_COUNT; |
| gdlm_drop_period = GDLM_DROP_PERIOD; |
| |
| 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"); |
| |