1 /*	$NetBSD: lvm-globals.c,v 1.1.1.3 2009/12/02 00:26:44 haad Exp $	*/
2 
3 /*
4  * Copyright (C) 2001-2004 Sistina Software, Inc. All rights reserved.
5  * Copyright (C) 2004-2007 Red Hat, Inc. All rights reserved.
6  *
7  * This file is part of LVM2.
8  *
9  * This copyrighted material is made available to anyone wishing to use,
10  * modify, copy, or redistribute it subject to the terms and conditions
11  * of the GNU Lesser General Public License v.2.1.
12  *
13  * You should have received a copy of the GNU Lesser General Public License
14  * along with this program; if not, write to the Free Software Foundation,
15  * Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
16  */
17 
18 #include "lib.h"
19 #include "device.h"
20 #include "memlock.h"
21 #include "lvm-string.h"
22 #include "lvm-file.h"
23 #include "defaults.h"
24 
25 #include <stdarg.h>
26 
27 static int _verbose_level = VERBOSE_BASE_LEVEL;
28 static int _test = 0;
29 static int _md_filtering = 0;
30 static int _pvmove = 0;
31 static int _full_scan_done = 0;	/* Restrict to one full scan during each cmd */
32 static int _trust_cache = 0; /* Don't scan when incomplete VGs encountered */
33 static int _debug_level = 0;
34 static int _log_cmd_name = 0;
35 static int _ignorelockingfailure = 0;
36 static int _security_level = SECURITY_LEVEL;
37 static char _cmd_name[30] = "";
38 static int _mirror_in_sync = 0;
39 static int _dmeventd_monitor = DEFAULT_DMEVENTD_MONITOR;
40 static int _ignore_suspended_devices = 0;
41 static int _error_message_produced = 0;
42 static unsigned _is_static = 0;
43 
44 void init_verbose(int level)
45 {
46 	_verbose_level = level;
47 }
48 
49 void init_test(int level)
50 {
51 	if (!_test && level)
52 		log_print("Test mode: Metadata will NOT be updated.");
53 	_test = level;
54 }
55 
56 void init_md_filtering(int level)
57 {
58 	_md_filtering = level;
59 }
60 
61 void init_pvmove(int level)
62 {
63 	_pvmove = level;
64 }
65 
66 void init_full_scan_done(int level)
67 {
68 	_full_scan_done = level;
69 }
70 
71 void init_trust_cache(int trustcache)
72 {
73 	_trust_cache = trustcache;
74 }
75 
76 void init_ignorelockingfailure(int level)
77 {
78 	_ignorelockingfailure = level;
79 }
80 
81 void init_security_level(int level)
82 {
83 	_security_level = level;
84 }
85 
86 void init_mirror_in_sync(int in_sync)
87 {
88 	_mirror_in_sync = in_sync;
89 }
90 
91 void init_dmeventd_monitor(int reg)
92 {
93 	_dmeventd_monitor = reg;
94 }
95 
96 void init_ignore_suspended_devices(int ignore)
97 {
98 	_ignore_suspended_devices = ignore;
99 }
100 
101 void init_cmd_name(int status)
102 {
103 	_log_cmd_name = status;
104 }
105 
106 void init_is_static(unsigned value)
107 {
108 	_is_static = value;
109 }
110 
111 void set_cmd_name(const char *cmd)
112 {
113 	strncpy(_cmd_name, cmd, sizeof(_cmd_name));
114 	_cmd_name[sizeof(_cmd_name) - 1] = '\0';
115 }
116 
117 const char *log_command_name()
118 {
119 	if (!_log_cmd_name)
120 		return "";
121 
122 	return _cmd_name;
123 }
124 
125 void init_error_message_produced(int value)
126 {
127 	_error_message_produced = value;
128 }
129 
130 int error_message_produced(void)
131 {
132 	return _error_message_produced;
133 }
134 
135 int test_mode()
136 {
137 	return _test;
138 }
139 
140 int md_filtering()
141 {
142 	return _md_filtering;
143 }
144 
145 int pvmove_mode()
146 {
147 	return _pvmove;
148 }
149 
150 int full_scan_done()
151 {
152 	return _full_scan_done;
153 }
154 
155 int trust_cache()
156 {
157 	return _trust_cache;
158 }
159 
160 int ignorelockingfailure()
161 {
162 	return _ignorelockingfailure;
163 }
164 
165 int security_level()
166 {
167 	return _security_level;
168 }
169 
170 int mirror_in_sync(void)
171 {
172 	return _mirror_in_sync;
173 }
174 
175 int dmeventd_monitor_mode(void)
176 {
177 	return _dmeventd_monitor;
178 }
179 
180 int ignore_suspended_devices(void)
181 {
182 	return _ignore_suspended_devices;
183 }
184 
185 void init_debug(int level)
186 {
187 	_debug_level = level;
188 }
189 
190 int verbose_level()
191 {
192 	return _verbose_level;
193 }
194 
195 int debug_level()
196 {
197 	return _debug_level;
198 }
199 
200 unsigned is_static(void)
201 {
202 	return _is_static;
203 }
204