diff options
author | Ondrej Kozina <okozina@redhat.com> | 2015-05-06 15:10:07 +0200 |
---|---|---|
committer | Ondrej Kozina <okozina@redhat.com> | 2015-05-07 15:50:30 +0200 |
commit | 527d7f4ee8295f867bf3510e04160cfc568215c6 (patch) | |
tree | 73d2104b76c5aba31b275f11b22ae46c56627674 | |
parent | 0d1b543a3957586de874f521ae85b9ea7d983f94 (diff) | |
download | lvm2-527d7f4ee8295f867bf3510e04160cfc568215c6.tar.gz |
lvmpolld: hide internal implementation in cmd-utils
-rw-r--r-- | daemons/lvmpolld/lvmpolld-cmd-utils.c | 38 | ||||
-rw-r--r-- | daemons/lvmpolld/lvmpolld-cmd-utils.h | 2 |
2 files changed, 20 insertions, 20 deletions
diff --git a/daemons/lvmpolld/lvmpolld-cmd-utils.c b/daemons/lvmpolld/lvmpolld-cmd-utils.c index 198712ba5..83ed99fa4 100644 --- a/daemons/lvmpolld/lvmpolld-cmd-utils.c +++ b/daemons/lvmpolld/lvmpolld-cmd-utils.c @@ -21,6 +21,8 @@ /* extract this info from autoconf/automake files */ #define LVPOLL_CMD "lvpoll" +#define MIN_ARGV_SIZE 8 + extern char **environ; static const char *const const polling_ops[] = { [PVMOVE] = LVMPD_REQ_PVMOVE, @@ -33,12 +35,12 @@ const char *polling_op(enum poll_type type) return type < POLL_TYPE_MAX ? polling_ops[type] : "<undefined>"; } -static int add_to_cmd_arr(const char ***cmdargv, const char *str, unsigned *index, unsigned renameme) +static int add_to_cmd_arr(const char ***cmdargv, const char *str, unsigned *index) { const char **newargv = *cmdargv; - if (*index && !(*index % renameme)) { - newargv = dm_realloc(*cmdargv, (*index / renameme + 1) * renameme * sizeof(char *)); + if (*index && !(*index % MIN_ARGV_SIZE)) { + newargv = dm_realloc(*cmdargv, (*index / MIN_ARGV_SIZE + 1) * MIN_ARGV_SIZE * sizeof(char *)); if (!newargv) return 0; *cmdargv = newargv; @@ -58,40 +60,40 @@ const char **cmdargv_ctr(const lvmpolld_lv_t *pdlv, const char *lvm_binary, unsi return NULL; /* path to lvm2 binary */ - if (!add_to_cmd_arr(&cmd_argv, lvm_binary, &i, MIN_ARGV_SIZE)) + if (!add_to_cmd_arr(&cmd_argv, lvm_binary, &i)) goto err; /* cmd to execute */ - if (!add_to_cmd_arr(&cmd_argv, LVPOLL_CMD, &i, MIN_ARGV_SIZE)) + if (!add_to_cmd_arr(&cmd_argv, LVPOLL_CMD, &i)) goto err; /* transfer internal polling interval */ if (pdlv->sinterval && - (!add_to_cmd_arr(&cmd_argv, "--interval", &i, MIN_ARGV_SIZE) || - !add_to_cmd_arr(&cmd_argv, pdlv->sinterval, &i, MIN_ARGV_SIZE))) + (!add_to_cmd_arr(&cmd_argv, "--interval", &i) || + !add_to_cmd_arr(&cmd_argv, pdlv->sinterval, &i))) goto err; /* pass abort param */ if (abort && - !add_to_cmd_arr(&cmd_argv, "--abort", &i, MIN_ARGV_SIZE)) + !add_to_cmd_arr(&cmd_argv, "--abort", &i)) goto err; /* pass handle-missing-pvs. used by mirror polling operation */ if (handle_missing_pvs && - !add_to_cmd_arr(&cmd_argv, "--handlemissingpvs", &i, MIN_ARGV_SIZE)) + !add_to_cmd_arr(&cmd_argv, "--handlemissingpvs", &i)) goto err; /* one of: "convert", "pvmove", "merge", "merge_thin" */ - if (!add_to_cmd_arr(&cmd_argv, "--polloperation", &i, MIN_ARGV_SIZE) || - !add_to_cmd_arr(&cmd_argv, polling_ops[pdlv->type], &i, MIN_ARGV_SIZE)) + if (!add_to_cmd_arr(&cmd_argv, "--polloperation", &i) || + !add_to_cmd_arr(&cmd_argv, polling_ops[pdlv->type], &i)) goto err; /* vg/lv name */ - if (!add_to_cmd_arr(&cmd_argv, pdlv->lvname, &i, MIN_ARGV_SIZE)) + if (!add_to_cmd_arr(&cmd_argv, pdlv->lvname, &i)) goto err; /* terminating NULL */ - if (!add_to_cmd_arr(&cmd_argv, NULL, &i, MIN_ARGV_SIZE)) + if (!add_to_cmd_arr(&cmd_argv, NULL, &i)) goto err; return cmd_argv; @@ -101,7 +103,7 @@ err: } /* FIXME: in fact exclude should be va list */ -static int copy_env(const char ***cmd_envp, unsigned *i, unsigned renameme, const char *exclude) +static int copy_env(const char ***cmd_envp, unsigned *i, const char *exclude) { const char * const* tmp = (const char * const*) environ; @@ -109,7 +111,7 @@ static int copy_env(const char ***cmd_envp, unsigned *i, unsigned renameme, cons return 0; while (*tmp) { - if (strncmp(*tmp, exclude, strlen(exclude)) && !add_to_cmd_arr(cmd_envp, *tmp, i, renameme)) + if (strncmp(*tmp, exclude, strlen(exclude)) && !add_to_cmd_arr(cmd_envp, *tmp, i)) return 0; tmp++; } @@ -126,15 +128,15 @@ const char **cmdenvp_ctr(const lvmpolld_lv_t *pdlv) return NULL; /* copy whole environment from lvmpolld, exclude LVM_SYSTEM_DIR if set */ - if (!copy_env(&cmd_envp, &i, MIN_ARGV_SIZE, "LVM_SYSTEM_DIR=")) + if (!copy_env(&cmd_envp, &i, "LVM_SYSTEM_DIR=")) goto err; /* Add per client LVM_SYSTEM_DIR variable if set */ - if (*pdlv->lvm_system_dir_env && !add_to_cmd_arr(&cmd_envp, pdlv->lvm_system_dir_env, &i, MIN_ARGV_SIZE)) + if (*pdlv->lvm_system_dir_env && !add_to_cmd_arr(&cmd_envp, pdlv->lvm_system_dir_env, &i)) goto err; /* terminating NULL */ - if (!add_to_cmd_arr(&cmd_envp, NULL, &i, MIN_ARGV_SIZE)) + if (!add_to_cmd_arr(&cmd_envp, NULL, &i)) goto err; return cmd_envp; diff --git a/daemons/lvmpolld/lvmpolld-cmd-utils.h b/daemons/lvmpolld/lvmpolld-cmd-utils.h index f5b42d453..0a1099b76 100644 --- a/daemons/lvmpolld/lvmpolld-cmd-utils.h +++ b/daemons/lvmpolld/lvmpolld-cmd-utils.h @@ -17,8 +17,6 @@ #include "lvmpolld-data-utils.h" -#define MIN_ARGV_SIZE 8 - const char **cmdargv_ctr(const lvmpolld_lv_t *pdlv, const char *lvm_binary, unsigned abort, unsigned handle_missing_pvs); const char **cmdenvp_ctr(const lvmpolld_lv_t *pdlv); |