main.c 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  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. #include <linux/init.h>
  10. #include "lock_dlm.h"
  11. extern int gdlm_drop_count;
  12. extern int gdlm_drop_period;
  13. extern struct lm_lockops gdlm_ops;
  14. static int __init init_lock_dlm(void)
  15. {
  16. int error;
  17. error = gfs2_register_lockproto(&gdlm_ops);
  18. if (error) {
  19. printk(KERN_WARNING "lock_dlm: can't register protocol: %d\n",
  20. error);
  21. return error;
  22. }
  23. error = gdlm_sysfs_init();
  24. if (error) {
  25. gfs2_unregister_lockproto(&gdlm_ops);
  26. return error;
  27. }
  28. error = gdlm_plock_init();
  29. if (error) {
  30. gdlm_sysfs_exit();
  31. gfs2_unregister_lockproto(&gdlm_ops);
  32. return error;
  33. }
  34. gdlm_drop_count = GDLM_DROP_COUNT;
  35. gdlm_drop_period = GDLM_DROP_PERIOD;
  36. printk(KERN_INFO
  37. "Lock_DLM (built %s %s) installed\n", __DATE__, __TIME__);
  38. return 0;
  39. }
  40. static void __exit exit_lock_dlm(void)
  41. {
  42. gdlm_plock_exit();
  43. gdlm_sysfs_exit();
  44. gfs2_unregister_lockproto(&gdlm_ops);
  45. }
  46. module_init(init_lock_dlm);
  47. module_exit(exit_lock_dlm);
  48. MODULE_DESCRIPTION("GFS DLM Locking Module");
  49. MODULE_AUTHOR("Red Hat, Inc.");
  50. MODULE_LICENSE("GPL");