From 0442be9aa827c2a8d9c3fd60c8f86bca48f92a39 Mon Sep 17 00:00:00 2001 From: Andriy Gapon Date: Wed, 20 Jul 2016 09:57:16 +0000 Subject: [PATCH] 6391 Override default SPA config location via environment illumos/illumos-gate@ae24175b2b25e9fb4bfd9ac0648b57e0735b6651 https://github.com/illumos/illumos-gate/commit/ae24175b2b25e9fb4bfd9ac0648b57e0735b6651 https://www.illumos.org/issues/6391 When using zdb with non-default SPA config file it is not convenient to add -U 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. https://github.com/zfsonlinux/zfs/commit/64d7b6cf75e52a4698d9bdec61745573c39d2e5a Reviewed by: Brian Behlendorf Reviewed by: Richard Yao Reviewed by: Matthew Ahrens Reviewed by: Will Andrews Reviewed by: George Wilson Approved by: Robert Mustacchi Author: Cyril Plisko --- cmd/zdb/zdb.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/cmd/zdb/zdb.c b/cmd/zdb/zdb.c index 0844090ee17..42dc179cf36 100644 --- a/cmd/zdb/zdb.c +++ b/cmd/zdb/zdb.c @@ -3529,12 +3529,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, "bcdhilmMI:suCDRSAFLXx:evp:t:U:P")) != -1) { switch (c) {