summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDave Wysochanski <dwysocha@redhat.com>2008-12-17 16:46:45 +0000
committerDave Wysochanski <dwysocha@redhat.com>2008-12-17 16:46:45 +0000
commitc5c13fe77627ef0329d1022c6b3daab99decd258 (patch)
tree358cb3e70e133262bf6f8945b4fa00ac1b475234
parent0fa2c4ed7f2105aebd8b8e3c6766da3addbaf7c1 (diff)
downloadlvm2-c5c13fe77627ef0329d1022c6b3daab99decd258.tar.gz
lvm2-c5c13fe77627ef0329d1022c6b3daab99decd258.tar.xz
lvm2-c5c13fe77627ef0329d1022c6b3daab99decd258.zip
Remove struct arg * from struct cmd_context and create_toolcontext().
This allows us to remove one argument from create_toolcontext() and moves it closer to a generic library init function. In the arg_*() functions, we just use _the_args() directly. For now we leave the first parameter to these arg_*() functions (struct cmd_context *) because of the number of files involved in removing the parameter.
-rw-r--r--daemons/clvmd/lvm-functions.c2
-rw-r--r--lib/commands/toolcontext.c3
-rw-r--r--lib/commands/toolcontext.h3
-rw-r--r--lib/lvm2.h4
-rw-r--r--tools/lvmcmdline.c55
5 files changed, 37 insertions, 30 deletions
diff --git a/daemons/clvmd/lvm-functions.c b/daemons/clvmd/lvm-functions.c
index 8225df6a..7250e04a 100644
--- a/daemons/clvmd/lvm-functions.c
+++ b/daemons/clvmd/lvm-functions.c
@@ -724,7 +724,7 @@ void lvm_do_backup(const char *vgname)
/* Called to initialise the LVM context of the daemon */
int init_lvm(int using_gulm)
{
- if (!(cmd = create_toolcontext(NULL, 0, 1))) {
+ if (!(cmd = create_toolcontext(0, 1))) {
log_error("Failed to allocate command context");
return 0;
}
diff --git a/lib/commands/toolcontext.c b/lib/commands/toolcontext.c
index 8e31b9de..cda90579 100644
--- a/lib/commands/toolcontext.c
+++ b/lib/commands/toolcontext.c
@@ -998,7 +998,7 @@ static void _init_globals(struct cmd_context *cmd)
}
/* Entry point */
-struct cmd_context *create_toolcontext(struct arg *the_args, unsigned is_static,
+struct cmd_context *create_toolcontext(unsigned is_static,
unsigned is_long_lived)
{
struct cmd_context *cmd;
@@ -1021,7 +1021,6 @@ struct cmd_context *create_toolcontext(struct arg *the_args, unsigned is_static,
return NULL;
}
memset(cmd, 0, sizeof(*cmd));
- cmd->args = the_args;
cmd->is_static = is_static;
cmd->is_long_lived = is_long_lived;
cmd->handles_missing_pvs = 0;
diff --git a/lib/commands/toolcontext.h b/lib/commands/toolcontext.h
index 4ea34864..3c7dfea5 100644
--- a/lib/commands/toolcontext.h
+++ b/lib/commands/toolcontext.h
@@ -65,7 +65,6 @@ struct cmd_context {
unsigned rand_seed;
char *cmd_line;
struct command *command;
- struct arg *args;
char **argv;
unsigned is_static:1; /* Static binary? */
unsigned is_long_lived:1; /* Optimises persistent_filter handling */
@@ -96,7 +95,7 @@ struct cmd_context {
char sysfs_dir[PATH_MAX];
};
-struct cmd_context *create_toolcontext(struct arg *the_args, unsigned is_static, unsigned is_long_lived);
+struct cmd_context *create_toolcontext(unsigned is_static, unsigned is_long_lived);
void destroy_toolcontext(struct cmd_context *cmd);
int refresh_toolcontext(struct cmd_context *cmd);
int config_files_changed(struct cmd_context *cmd);
diff --git a/lib/lvm2.h b/lib/lvm2.h
index 8ddaf68c..75c002a1 100644
--- a/lib/lvm2.h
+++ b/lib/lvm2.h
@@ -24,7 +24,7 @@
*/
struct arg;
struct cmd_context;
-struct cmd_context *create_toolcontext(struct arg *the_args, unsigned is_static, unsigned is_long_lived);
+struct cmd_context *create_toolcontext(unsigned is_static, unsigned is_long_lived);
void destroy_toolcontext(struct cmd_context *cmd);
/*
@@ -37,7 +37,7 @@ lvm_handle_t lvm2_create(void);
* NULL: Fail - unable to initialise handle.
* non-NULL: Success - valid LVM2 handle returned
*/
-#define lvm2_create(X) create_toolcontext(NULL,0,1)
+#define lvm2_create(X) create_toolcontext(0,1)
/*
* lvm2_destroy
diff --git a/tools/lvmcmdline.c b/tools/lvmcmdline.c
index 45191f7c..95dcfbeb 100644
--- a/tools/lvmcmdline.c
+++ b/tools/lvmcmdline.c
@@ -54,59 +54,68 @@ static struct arg _the_args[ARG_COUNT + 1] = {
static struct cmdline_context _cmdline;
/* Command line args */
-unsigned arg_count(const struct cmd_context *cmd, int a)
+/* FIXME: struct cmd_context * is unnecessary (large # files ) */
+unsigned arg_count(const struct cmd_context *cmd __attribute((unused)), int a)
{
- return cmd->args[a].count;
+ return _the_args[a].count;
}
-const char *arg_value(struct cmd_context *cmd, int a)
+const char *arg_value(struct cmd_context *cmd __attribute((unused)), int a)
{
- return cmd->args[a].value;
+ return _the_args[a].value;
}
-const char *arg_str_value(struct cmd_context *cmd, int a, const char *def)
+const char *arg_str_value(struct cmd_context *cmd __attribute((unused)),
+ int a, const char *def)
{
- return arg_count(cmd, a) ? cmd->args[a].value : def;
+ return arg_count(cmd, a) ? _the_args[a].value : def;
}
-int32_t arg_int_value(struct cmd_context *cmd, int a, const int32_t def)
+int32_t arg_int_value(struct cmd_context *cmd __attribute((unused)),
+ int a, const int32_t def)
{
- return arg_count(cmd, a) ? cmd->args[a].i_value : def;
+ return arg_count(cmd, a) ? _the_args[a].i_value : def;
}
-uint32_t arg_uint_value(struct cmd_context *cmd, int a, const uint32_t def)
+uint32_t arg_uint_value(struct cmd_context *cmd __attribute((unused)),
+ int a, const uint32_t def)
{
- return arg_count(cmd, a) ? cmd->args[a].ui_value : def;
+ return arg_count(cmd, a) ? _the_args[a].ui_value : def;
}
-int64_t arg_int64_value(struct cmd_context *cmd, int a, const int64_t def)
+int64_t arg_int64_value(struct cmd_context *cmd __attribute((unused)),
+ int a, const int64_t def)
{
- return arg_count(cmd, a) ? cmd->args[a].i64_value : def;
+ return arg_count(cmd, a) ? _the_args[a].i64_value : def;
}
-uint64_t arg_uint64_value(struct cmd_context *cmd, int a, const uint64_t def)
+uint64_t arg_uint64_value(struct cmd_context *cmd __attribute((unused)),
+ int a, const uint64_t def)
{
- return arg_count(cmd, a) ? cmd->args[a].ui64_value : def;
+ return arg_count(cmd, a) ? _the_args[a].ui64_value : def;
}
-const void *arg_ptr_value(struct cmd_context *cmd, int a, const void *def)
+const void *arg_ptr_value(struct cmd_context *cmd __attribute((unused)),
+ int a, const void *def)
{
- return arg_count(cmd, a) ? cmd->args[a].ptr : def;
+ return arg_count(cmd, a) ? _the_args[a].ptr : def;
}
-sign_t arg_sign_value(struct cmd_context *cmd, int a, const sign_t def)
+sign_t arg_sign_value(struct cmd_context *cmd __attribute((unused)),
+ int a, const sign_t def)
{
- return arg_count(cmd, a) ? cmd->args[a].sign : def;
+ return arg_count(cmd, a) ? _the_args[a].sign : def;
}
-percent_t arg_percent_value(struct cmd_context *cmd, int a, const percent_t def)
+percent_t arg_percent_value(struct cmd_context *cmd __attribute((unused)),
+ int a, const percent_t def)
{
- return arg_count(cmd, a) ? cmd->args[a].percent : def;
+ return arg_count(cmd, a) ? _the_args[a].percent : def;
}
-int arg_count_increment(struct cmd_context *cmd, int a)
+int arg_count_increment(struct cmd_context *cmd __attribute((unused)), int a)
{
- return cmd->args[a].count++;
+ return _the_args[a].count++;
}
int yes_no_arg(struct cmd_context *cmd __attribute((unused)), struct arg *a)
@@ -1144,7 +1153,7 @@ struct cmd_context *init_lvm(unsigned is_static)
_cmdline.the_args = &_the_args[0];
- if (!(cmd = create_toolcontext(_cmdline.the_args, is_static, 0)))
+ if (!(cmd = create_toolcontext(is_static, 0)))
return_NULL;
return cmd;