diff options
Diffstat (limited to 'glusterfsd')
| -rw-r--r-- | glusterfsd/src/glusterfsd.c | 43 | ||||
| -rw-r--r-- | glusterfsd/src/glusterfsd.h | 3 | 
2 files changed, 46 insertions, 0 deletions
diff --git a/glusterfsd/src/glusterfsd.c b/glusterfsd/src/glusterfsd.c index cb744f04fdf..b5b8e4d30a7 100644 --- a/glusterfsd/src/glusterfsd.c +++ b/glusterfsd/src/glusterfsd.c @@ -166,6 +166,13 @@ static struct argp_option gf_options[] = {           "Validate the netgroups file and print it out"},          {"print-exports", ARGP_PRINT_EXPORTS, "EXPORTS-FILE", 0,          "Validate the exports file and print it out"}, +        {"print-xlatordir", ARGP_PRINT_XLATORDIR_KEY, 0, OPTION_ARG_OPTIONAL, +         "Print xlator directory path"}, +        {"print-statedumpdir", ARGP_PRINT_STATEDUMPDIR_KEY, 0, +          OPTION_ARG_OPTIONAL, +         "Print directory path in which statedumps shall be generated"}, +        {"print-logdir", ARGP_PRINT_LOGDIR_KEY, 0, OPTION_ARG_OPTIONAL, +         "Print path of default log directory"},          {"volfile-max-fetch-attempts", ARGP_VOLFILE_MAX_FETCH_ATTEMPTS, "0",           OPTION_HIDDEN, "Maximum number of attempts to fetch the volfile"}, @@ -913,6 +920,18 @@ parse_opts (int key, char *arg, struct argp_state *state)                  cmd_args->print_exports = arg;                  break; +        case ARGP_PRINT_XLATORDIR_KEY: +                cmd_args->print_xlatordir = _gf_true; +                break; + +        case ARGP_PRINT_STATEDUMPDIR_KEY: +                cmd_args->print_statedumpdir = _gf_true; +                break; + +        case ARGP_PRINT_LOGDIR_KEY: +                cmd_args->print_logdir = _gf_true; +                break; +          case ARGP_MAC_COMPAT_KEY:                  if (!arg)                          arg = "on"; @@ -1982,6 +2001,13 @@ parse_cmdline (int argc, char *argv[], glusterfs_ctx_t *ctx)          }          argp_parse (&argp, argc, argv, ARGP_IN_ORDER, NULL, cmd_args); + +        if (cmd_args->print_xlatordir || cmd_args->print_statedumpdir || +            cmd_args->print_logdir) { +                /* Just print, nothing else to do */ +                goto out; +        } +          if (cmd_args->print_netgroups) {                  /* When this option is set we don't want to do anything else                   * except for printing & verifying the netgroups file. @@ -2578,6 +2604,23 @@ main (int argc, char *argv[])          if (ret)                  goto out;          cmd = &ctx->cmd_args; + +        if (cmd->print_xlatordir) { +                /* XLATORDIR passed through a -D flag to GCC */ +                printf ("%s\n", XLATORDIR); +                goto out; +        } + +        if (cmd->print_statedumpdir) { +                printf ("%s\n", DEFAULT_VAR_RUN_DIRECTORY); +                goto out; +        } + +        if (cmd->print_logdir) { +                printf ("%s\n", DEFAULT_LOG_FILE_DIRECTORY); +                goto out; +        } +          if (cmd->print_netgroups) {                  /* If this option is set we want to print & verify the file,                   * set the return value (exit code in this case) and exit. diff --git a/glusterfsd/src/glusterfsd.h b/glusterfsd/src/glusterfsd.h index 38785441817..2a03ec09fa2 100644 --- a/glusterfsd/src/glusterfsd.h +++ b/glusterfsd/src/glusterfsd.h @@ -102,6 +102,9 @@ enum argp_option_keys {          ARGP_FUSE_EVENT_HISTORY_KEY       = 180,          ARGP_THIN_CLIENT_KEY              = 181,          ARGP_READER_THREAD_COUNT_KEY      = 182, +        ARGP_PRINT_XLATORDIR_KEY          = 183, +        ARGP_PRINT_STATEDUMPDIR_KEY       = 184, +        ARGP_PRINT_LOGDIR_KEY             = 185,  };  struct _gfd_vol_top_priv {  | 
