summaryrefslogtreecommitdiff
blob: 3882cd1675ac22bd6c773a305e48422096d5b420 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
#!/sbin/openrc-run
# Copyright 1999-2005 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$

depend() {
	use net
	need cluster-manager
	provide cluster-locking-manager
}

load_modules() {
	local module modules
	modules=$1
	
	for module in ${modules}; do
		ebegin "Loading ${module} kernel module"
		modprobe ${module}
		eend $? "Failed to load ${module} kernel module"
	done
}

unload_modules() {
	local module modules
	modules=$1
	
	for module in ${modules}; do
		ebegin "Unloading ${module} kernel module"
		modprobe -r ${module}
		eend $? "Failed to unload ${module} kernel module"
	done
}

start() {
	ebegin "Loading dlm module"
	load_modules dlm
	eend $?
}

stop() {

	local modules

	if [ -d /proc/cluster/lock_dlm ]; then
		modules="${modules} lock_dlm"
	fi
	if [ -d /proc/cluster/config/dlm ]; then
		modules="${modules} dlm"
	fi
	unload_modules ${modules}

}