1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798 |
- /******************************************************************************
- *******************************************************************************
- **
- ** Copyright (C) Sistina Software, Inc. 1997-2003 All rights reserved.
- ** Copyright (C) 2004-2007 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 v.2.
- **
- *******************************************************************************
- ******************************************************************************/
- #include "dlm_internal.h"
- #include "lockspace.h"
- #include "lock.h"
- #include "user.h"
- #include "memory.h"
- #include "config.h"
- #include "lowcomms.h"
- static int __init init_dlm(void)
- {
- int error;
- error = dlm_memory_init();
- if (error)
- goto out;
- error = dlm_lockspace_init();
- if (error)
- goto out_mem;
- error = dlm_config_init();
- if (error)
- goto out_lockspace;
- error = dlm_register_debugfs();
- if (error)
- goto out_config;
- error = dlm_user_init();
- if (error)
- goto out_debug;
- error = dlm_netlink_init();
- if (error)
- goto out_user;
- error = dlm_plock_init();
- if (error)
- goto out_netlink;
- printk("DLM installed\n");
- return 0;
- out_netlink:
- dlm_netlink_exit();
- out_user:
- dlm_user_exit();
- out_debug:
- dlm_unregister_debugfs();
- out_config:
- dlm_config_exit();
- out_lockspace:
- dlm_lockspace_exit();
- out_mem:
- dlm_memory_exit();
- out:
- return error;
- }
- static void __exit exit_dlm(void)
- {
- dlm_plock_exit();
- dlm_netlink_exit();
- dlm_user_exit();
- dlm_config_exit();
- dlm_memory_exit();
- dlm_lockspace_exit();
- dlm_lowcomms_exit();
- dlm_unregister_debugfs();
- }
- module_init(init_dlm);
- module_exit(exit_dlm);
- MODULE_DESCRIPTION("Distributed Lock Manager");
- MODULE_AUTHOR("Red Hat, Inc.");
- MODULE_LICENSE("GPL");
- EXPORT_SYMBOL_GPL(dlm_new_lockspace);
- EXPORT_SYMBOL_GPL(dlm_release_lockspace);
- EXPORT_SYMBOL_GPL(dlm_lock);
- EXPORT_SYMBOL_GPL(dlm_unlock);
|