Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
awilliam
GitHub Repository: awilliam/linux-vfio
Path: blob/master/fs/dlm/main.c
15109 views
1
/******************************************************************************
2
*******************************************************************************
3
**
4
** Copyright (C) Sistina Software, Inc. 1997-2003 All rights reserved.
5
** Copyright (C) 2004-2007 Red Hat, Inc. All rights reserved.
6
**
7
** This copyrighted material is made available to anyone wishing to use,
8
** modify, copy, or redistribute it subject to the terms and conditions
9
** of the GNU General Public License v.2.
10
**
11
*******************************************************************************
12
******************************************************************************/
13
14
#include "dlm_internal.h"
15
#include "lockspace.h"
16
#include "lock.h"
17
#include "user.h"
18
#include "memory.h"
19
#include "config.h"
20
21
static int __init init_dlm(void)
22
{
23
int error;
24
25
error = dlm_memory_init();
26
if (error)
27
goto out;
28
29
error = dlm_lockspace_init();
30
if (error)
31
goto out_mem;
32
33
error = dlm_config_init();
34
if (error)
35
goto out_lockspace;
36
37
error = dlm_register_debugfs();
38
if (error)
39
goto out_config;
40
41
error = dlm_user_init();
42
if (error)
43
goto out_debug;
44
45
error = dlm_netlink_init();
46
if (error)
47
goto out_user;
48
49
error = dlm_plock_init();
50
if (error)
51
goto out_netlink;
52
53
printk("DLM installed\n");
54
55
return 0;
56
57
out_netlink:
58
dlm_netlink_exit();
59
out_user:
60
dlm_user_exit();
61
out_debug:
62
dlm_unregister_debugfs();
63
out_config:
64
dlm_config_exit();
65
out_lockspace:
66
dlm_lockspace_exit();
67
out_mem:
68
dlm_memory_exit();
69
out:
70
return error;
71
}
72
73
static void __exit exit_dlm(void)
74
{
75
dlm_plock_exit();
76
dlm_netlink_exit();
77
dlm_user_exit();
78
dlm_config_exit();
79
dlm_memory_exit();
80
dlm_lockspace_exit();
81
dlm_unregister_debugfs();
82
}
83
84
module_init(init_dlm);
85
module_exit(exit_dlm);
86
87
MODULE_DESCRIPTION("Distributed Lock Manager");
88
MODULE_AUTHOR("Red Hat, Inc.");
89
MODULE_LICENSE("GPL");
90
91
EXPORT_SYMBOL_GPL(dlm_new_lockspace);
92
EXPORT_SYMBOL_GPL(dlm_release_lockspace);
93
EXPORT_SYMBOL_GPL(dlm_lock);
94
EXPORT_SYMBOL_GPL(dlm_unlock);
95
96
97