summaryrefslogtreecommitdiffstats
path: root/cmd
diff options
context:
space:
mode:
authorCyril Plisko <[email protected]>2013-06-24 09:45:20 +0300
committerBrian Behlendorf <[email protected]>2013-07-01 13:25:44 -0700
commit64d7b6cf75e52a4698d9bdec61745573c39d2e5a (patch)
tree71493f81e9a43a6f0497b34b16fc84af1d8141a5 /cmd
parent20c17b96c91f1231c59009236afd4277cbc253a8 (diff)
Override default SPA config location via environment
When using zdb with non-default SPA config file it is not convenient to add -U <non-default-config-file-path> all the time. This commit introduces support for setting/overriding SPA config location via environment variable 'SPA_CONFIG_PATH'. If -U flag is specified in the command line it will override any other value as usual. Signed-off-by: Brian Behlendorf <[email protected]> Closes #1545
Diffstat (limited to 'cmd')
-rw-r--r--cmd/zdb/zdb.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/cmd/zdb/zdb.c b/cmd/zdb/zdb.c
index 42c51e292..75d4198ba 100644
--- a/cmd/zdb/zdb.c
+++ b/cmd/zdb/zdb.c
@@ -3059,12 +3059,22 @@ main(int argc, char **argv)
nvlist_t *policy = NULL;
uint64_t max_txg = UINT64_MAX;
int rewind = ZPOOL_NEVER_REWIND;
+ char *spa_config_path_env;
(void) setrlimit(RLIMIT_NOFILE, &rl);
(void) enable_extended_FILE_stdio(-1, -1);
dprintf_setup(&argc, argv);
+ /*
+ * If there is an environment variable SPA_CONFIG_PATH it overrides
+ * default spa_config_path setting. If -U flag is specified it will
+ * override this environment variable settings once again.
+ */
+ spa_config_path_env = getenv("SPA_CONFIG_PATH");
+ if (spa_config_path_env != NULL)
+ spa_config_path = spa_config_path_env;
+
while ((c = getopt(argc, argv, "bcdhilmM:suCDRSAFLXevp:t:U:P")) != -1) {
switch (c) {
case 'b':