xref: /dflybsd-src/contrib/lvm2/dist/lib/misc/lvm-globals.c (revision 86d7f5d305c6adaa56ff4582ece9859d73106103)
186d7f5d3SJohn Marino /*	$NetBSD: lvm-globals.c,v 1.1.1.3 2009/12/02 00:26:44 haad Exp $	*/
286d7f5d3SJohn Marino 
386d7f5d3SJohn Marino /*
486d7f5d3SJohn Marino  * Copyright (C) 2001-2004 Sistina Software, Inc. All rights reserved.
586d7f5d3SJohn Marino  * Copyright (C) 2004-2007 Red Hat, Inc. All rights reserved.
686d7f5d3SJohn Marino  *
786d7f5d3SJohn Marino  * This file is part of LVM2.
886d7f5d3SJohn Marino  *
986d7f5d3SJohn Marino  * This copyrighted material is made available to anyone wishing to use,
1086d7f5d3SJohn Marino  * modify, copy, or redistribute it subject to the terms and conditions
1186d7f5d3SJohn Marino  * of the GNU Lesser General Public License v.2.1.
1286d7f5d3SJohn Marino  *
1386d7f5d3SJohn Marino  * You should have received a copy of the GNU Lesser General Public License
1486d7f5d3SJohn Marino  * along with this program; if not, write to the Free Software Foundation,
1586d7f5d3SJohn Marino  * Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
1686d7f5d3SJohn Marino  */
1786d7f5d3SJohn Marino 
1886d7f5d3SJohn Marino #include "lib.h"
1986d7f5d3SJohn Marino #include "device.h"
2086d7f5d3SJohn Marino #include "memlock.h"
2186d7f5d3SJohn Marino #include "lvm-string.h"
2286d7f5d3SJohn Marino #include "lvm-file.h"
2386d7f5d3SJohn Marino #include "defaults.h"
2486d7f5d3SJohn Marino 
2586d7f5d3SJohn Marino #include <stdarg.h>
2686d7f5d3SJohn Marino 
2786d7f5d3SJohn Marino static int _verbose_level = VERBOSE_BASE_LEVEL;
2886d7f5d3SJohn Marino static int _test = 0;
2986d7f5d3SJohn Marino static int _md_filtering = 0;
3086d7f5d3SJohn Marino static int _pvmove = 0;
3186d7f5d3SJohn Marino static int _full_scan_done = 0;	/* Restrict to one full scan during each cmd */
3286d7f5d3SJohn Marino static int _trust_cache = 0; /* Don't scan when incomplete VGs encountered */
3386d7f5d3SJohn Marino static int _debug_level = 0;
3486d7f5d3SJohn Marino static int _log_cmd_name = 0;
3586d7f5d3SJohn Marino static int _ignorelockingfailure = 0;
3686d7f5d3SJohn Marino static int _security_level = SECURITY_LEVEL;
3786d7f5d3SJohn Marino static char _cmd_name[30] = "";
3886d7f5d3SJohn Marino static int _mirror_in_sync = 0;
3986d7f5d3SJohn Marino static int _dmeventd_monitor = DEFAULT_DMEVENTD_MONITOR;
4086d7f5d3SJohn Marino static int _ignore_suspended_devices = 0;
4186d7f5d3SJohn Marino static int _error_message_produced = 0;
4286d7f5d3SJohn Marino static unsigned _is_static = 0;
4386d7f5d3SJohn Marino 
init_verbose(int level)4486d7f5d3SJohn Marino void init_verbose(int level)
4586d7f5d3SJohn Marino {
4686d7f5d3SJohn Marino 	_verbose_level = level;
4786d7f5d3SJohn Marino }
4886d7f5d3SJohn Marino 
init_test(int level)4986d7f5d3SJohn Marino void init_test(int level)
5086d7f5d3SJohn Marino {
5186d7f5d3SJohn Marino 	if (!_test && level)
5286d7f5d3SJohn Marino 		log_print("Test mode: Metadata will NOT be updated.");
5386d7f5d3SJohn Marino 	_test = level;
5486d7f5d3SJohn Marino }
5586d7f5d3SJohn Marino 
init_md_filtering(int level)5686d7f5d3SJohn Marino void init_md_filtering(int level)
5786d7f5d3SJohn Marino {
5886d7f5d3SJohn Marino 	_md_filtering = level;
5986d7f5d3SJohn Marino }
6086d7f5d3SJohn Marino 
init_pvmove(int level)6186d7f5d3SJohn Marino void init_pvmove(int level)
6286d7f5d3SJohn Marino {
6386d7f5d3SJohn Marino 	_pvmove = level;
6486d7f5d3SJohn Marino }
6586d7f5d3SJohn Marino 
init_full_scan_done(int level)6686d7f5d3SJohn Marino void init_full_scan_done(int level)
6786d7f5d3SJohn Marino {
6886d7f5d3SJohn Marino 	_full_scan_done = level;
6986d7f5d3SJohn Marino }
7086d7f5d3SJohn Marino 
init_trust_cache(int trustcache)7186d7f5d3SJohn Marino void init_trust_cache(int trustcache)
7286d7f5d3SJohn Marino {
7386d7f5d3SJohn Marino 	_trust_cache = trustcache;
7486d7f5d3SJohn Marino }
7586d7f5d3SJohn Marino 
init_ignorelockingfailure(int level)7686d7f5d3SJohn Marino void init_ignorelockingfailure(int level)
7786d7f5d3SJohn Marino {
7886d7f5d3SJohn Marino 	_ignorelockingfailure = level;
7986d7f5d3SJohn Marino }
8086d7f5d3SJohn Marino 
init_security_level(int level)8186d7f5d3SJohn Marino void init_security_level(int level)
8286d7f5d3SJohn Marino {
8386d7f5d3SJohn Marino 	_security_level = level;
8486d7f5d3SJohn Marino }
8586d7f5d3SJohn Marino 
init_mirror_in_sync(int in_sync)8686d7f5d3SJohn Marino void init_mirror_in_sync(int in_sync)
8786d7f5d3SJohn Marino {
8886d7f5d3SJohn Marino 	_mirror_in_sync = in_sync;
8986d7f5d3SJohn Marino }
9086d7f5d3SJohn Marino 
init_dmeventd_monitor(int reg)9186d7f5d3SJohn Marino void init_dmeventd_monitor(int reg)
9286d7f5d3SJohn Marino {
9386d7f5d3SJohn Marino 	_dmeventd_monitor = reg;
9486d7f5d3SJohn Marino }
9586d7f5d3SJohn Marino 
init_ignore_suspended_devices(int ignore)9686d7f5d3SJohn Marino void init_ignore_suspended_devices(int ignore)
9786d7f5d3SJohn Marino {
9886d7f5d3SJohn Marino 	_ignore_suspended_devices = ignore;
9986d7f5d3SJohn Marino }
10086d7f5d3SJohn Marino 
init_cmd_name(int status)10186d7f5d3SJohn Marino void init_cmd_name(int status)
10286d7f5d3SJohn Marino {
10386d7f5d3SJohn Marino 	_log_cmd_name = status;
10486d7f5d3SJohn Marino }
10586d7f5d3SJohn Marino 
init_is_static(unsigned value)10686d7f5d3SJohn Marino void init_is_static(unsigned value)
10786d7f5d3SJohn Marino {
10886d7f5d3SJohn Marino 	_is_static = value;
10986d7f5d3SJohn Marino }
11086d7f5d3SJohn Marino 
set_cmd_name(const char * cmd)11186d7f5d3SJohn Marino void set_cmd_name(const char *cmd)
11286d7f5d3SJohn Marino {
11386d7f5d3SJohn Marino 	strncpy(_cmd_name, cmd, sizeof(_cmd_name));
11486d7f5d3SJohn Marino 	_cmd_name[sizeof(_cmd_name) - 1] = '\0';
11586d7f5d3SJohn Marino }
11686d7f5d3SJohn Marino 
log_command_name()11786d7f5d3SJohn Marino const char *log_command_name()
11886d7f5d3SJohn Marino {
11986d7f5d3SJohn Marino 	if (!_log_cmd_name)
12086d7f5d3SJohn Marino 		return "";
12186d7f5d3SJohn Marino 
12286d7f5d3SJohn Marino 	return _cmd_name;
12386d7f5d3SJohn Marino }
12486d7f5d3SJohn Marino 
init_error_message_produced(int value)12586d7f5d3SJohn Marino void init_error_message_produced(int value)
12686d7f5d3SJohn Marino {
12786d7f5d3SJohn Marino 	_error_message_produced = value;
12886d7f5d3SJohn Marino }
12986d7f5d3SJohn Marino 
error_message_produced(void)13086d7f5d3SJohn Marino int error_message_produced(void)
13186d7f5d3SJohn Marino {
13286d7f5d3SJohn Marino 	return _error_message_produced;
13386d7f5d3SJohn Marino }
13486d7f5d3SJohn Marino 
test_mode()13586d7f5d3SJohn Marino int test_mode()
13686d7f5d3SJohn Marino {
13786d7f5d3SJohn Marino 	return _test;
13886d7f5d3SJohn Marino }
13986d7f5d3SJohn Marino 
md_filtering()14086d7f5d3SJohn Marino int md_filtering()
14186d7f5d3SJohn Marino {
14286d7f5d3SJohn Marino 	return _md_filtering;
14386d7f5d3SJohn Marino }
14486d7f5d3SJohn Marino 
pvmove_mode()14586d7f5d3SJohn Marino int pvmove_mode()
14686d7f5d3SJohn Marino {
14786d7f5d3SJohn Marino 	return _pvmove;
14886d7f5d3SJohn Marino }
14986d7f5d3SJohn Marino 
full_scan_done()15086d7f5d3SJohn Marino int full_scan_done()
15186d7f5d3SJohn Marino {
15286d7f5d3SJohn Marino 	return _full_scan_done;
15386d7f5d3SJohn Marino }
15486d7f5d3SJohn Marino 
trust_cache()15586d7f5d3SJohn Marino int trust_cache()
15686d7f5d3SJohn Marino {
15786d7f5d3SJohn Marino 	return _trust_cache;
15886d7f5d3SJohn Marino }
15986d7f5d3SJohn Marino 
ignorelockingfailure()16086d7f5d3SJohn Marino int ignorelockingfailure()
16186d7f5d3SJohn Marino {
16286d7f5d3SJohn Marino 	return _ignorelockingfailure;
16386d7f5d3SJohn Marino }
16486d7f5d3SJohn Marino 
security_level()16586d7f5d3SJohn Marino int security_level()
16686d7f5d3SJohn Marino {
16786d7f5d3SJohn Marino 	return _security_level;
16886d7f5d3SJohn Marino }
16986d7f5d3SJohn Marino 
mirror_in_sync(void)17086d7f5d3SJohn Marino int mirror_in_sync(void)
17186d7f5d3SJohn Marino {
17286d7f5d3SJohn Marino 	return _mirror_in_sync;
17386d7f5d3SJohn Marino }
17486d7f5d3SJohn Marino 
dmeventd_monitor_mode(void)17586d7f5d3SJohn Marino int dmeventd_monitor_mode(void)
17686d7f5d3SJohn Marino {
17786d7f5d3SJohn Marino 	return _dmeventd_monitor;
17886d7f5d3SJohn Marino }
17986d7f5d3SJohn Marino 
ignore_suspended_devices(void)18086d7f5d3SJohn Marino int ignore_suspended_devices(void)
18186d7f5d3SJohn Marino {
18286d7f5d3SJohn Marino 	return _ignore_suspended_devices;
18386d7f5d3SJohn Marino }
18486d7f5d3SJohn Marino 
init_debug(int level)18586d7f5d3SJohn Marino void init_debug(int level)
18686d7f5d3SJohn Marino {
18786d7f5d3SJohn Marino 	_debug_level = level;
18886d7f5d3SJohn Marino }
18986d7f5d3SJohn Marino 
verbose_level()19086d7f5d3SJohn Marino int verbose_level()
19186d7f5d3SJohn Marino {
19286d7f5d3SJohn Marino 	return _verbose_level;
19386d7f5d3SJohn Marino }
19486d7f5d3SJohn Marino 
debug_level()19586d7f5d3SJohn Marino int debug_level()
19686d7f5d3SJohn Marino {
19786d7f5d3SJohn Marino 	return _debug_level;
19886d7f5d3SJohn Marino }
19986d7f5d3SJohn Marino 
is_static(void)20086d7f5d3SJohn Marino unsigned is_static(void)
20186d7f5d3SJohn Marino {
20286d7f5d3SJohn Marino 	return _is_static;
20386d7f5d3SJohn Marino }
204