diff options
author | Cyril Plisko <[email protected]> | 2013-06-24 09:45:20 +0300 |
---|---|---|
committer | Brian Behlendorf <[email protected]> | 2013-07-01 13:25:44 -0700 |
commit | 64d7b6cf75e52a4698d9bdec61745573c39d2e5a (patch) | |
tree | 71493f81e9a43a6f0497b34b16fc84af1d8141a5 /cmd/zdb/zdb.c | |
parent | 20c17b96c91f1231c59009236afd4277cbc253a8 (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/zdb/zdb.c')
-rw-r--r-- | cmd/zdb/zdb.c | 10 |
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': |