Blame view

fs/dlm/main.c 1.99 KB
e7fd41792   David Teigland   [DLM] The core of...
1
2
3
4
  /******************************************************************************
  *******************************************************************************
  **
  **  Copyright (C) Sistina Software, Inc.  1997-2003  All rights reserved.
3ae1acf93   David Teigland   [DLM] add lock ti...
5
  **  Copyright (C) 2004-2007 Red Hat, Inc.  All rights reserved.
e7fd41792   David Teigland   [DLM] The core of...
6
7
8
9
10
11
12
13
14
15
16
  **
  **  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"
597d0cae0   David Teigland   [DLM] dlm: user l...
17
  #include "user.h"
e7fd41792   David Teigland   [DLM] The core of...
18
  #include "memory.h"
e7fd41792   David Teigland   [DLM] The core of...
19
  #include "config.h"
36b71a8bf   David Teigland   dlm: fix deadlock...
20
  #include "lowcomms.h"
e7fd41792   David Teigland   [DLM] The core of...
21

e7fd41792   David Teigland   [DLM] The core of...
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
  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;
597d0cae0   David Teigland   [DLM] dlm: user l...
41
42
  	error = dlm_user_init();
  	if (error)
ac33d0710   Patrick Caulfield   [DLM] Clean up lo...
43
  		goto out_debug;
597d0cae0   David Teigland   [DLM] dlm: user l...
44

3ae1acf93   David Teigland   [DLM] add lock ti...
45
46
47
  	error = dlm_netlink_init();
  	if (error)
  		goto out_user;
2402211a8   David Teigland   dlm: move plock c...
48
49
50
  	error = dlm_plock_init();
  	if (error)
  		goto out_netlink;
75ce481e1   Michal Marek   dlm: Drop __TIME_...
51
52
  	printk("DLM installed
  ");
e7fd41792   David Teigland   [DLM] The core of...
53
54
  
  	return 0;
2402211a8   David Teigland   dlm: move plock c...
55
56
   out_netlink:
  	dlm_netlink_exit();
3ae1acf93   David Teigland   [DLM] add lock ti...
57
58
   out_user:
  	dlm_user_exit();
e7fd41792   David Teigland   [DLM] The core of...
59
60
61
62
63
64
65
66
67
68
69
70
71
72
   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)
  {
2402211a8   David Teigland   dlm: move plock c...
73
  	dlm_plock_exit();
3ae1acf93   David Teigland   [DLM] add lock ti...
74
  	dlm_netlink_exit();
597d0cae0   David Teigland   [DLM] dlm: user l...
75
  	dlm_user_exit();
e7fd41792   David Teigland   [DLM] The core of...
76
77
78
  	dlm_config_exit();
  	dlm_memory_exit();
  	dlm_lockspace_exit();
36b71a8bf   David Teigland   dlm: fix deadlock...
79
  	dlm_lowcomms_exit();
e7fd41792   David Teigland   [DLM] The core of...
80
81
82
83
84
85
86
87
88
89
90
91
92
93
  	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);