summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorOndrej Kozina <okozina@redhat.com>2015-05-06 15:10:07 +0200
committerOndrej Kozina <okozina@redhat.com>2015-05-07 15:50:30 +0200
commit527d7f4ee8295f867bf3510e04160cfc568215c6 (patch)
tree73d2104b76c5aba31b275f11b22ae46c56627674
parent0d1b543a3957586de874f521ae85b9ea7d983f94 (diff)
downloadlvm2-527d7f4ee8295f867bf3510e04160cfc568215c6.tar.gz
lvmpolld: hide internal implementation in cmd-utils
-rw-r--r--daemons/lvmpolld/lvmpolld-cmd-utils.c38
-rw-r--r--daemons/lvmpolld/lvmpolld-cmd-utils.h2
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);