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