main.c 1.3 KB

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