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