mirror of
git://sourceware.org/git/lvm2.git
synced 2025-01-11 09:18:25 +03:00
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.
This commit is contained in:
parent
03798fd604
commit
9f67ba6a38
@ -724,7 +724,7 @@ void lvm_do_backup(const char *vgname)
|
|||||||
/* Called to initialise the LVM context of the daemon */
|
/* Called to initialise the LVM context of the daemon */
|
||||||
int init_lvm(int using_gulm)
|
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");
|
log_error("Failed to allocate command context");
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
@ -998,7 +998,7 @@ static void _init_globals(struct cmd_context *cmd)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* Entry point */
|
/* 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)
|
unsigned is_long_lived)
|
||||||
{
|
{
|
||||||
struct cmd_context *cmd;
|
struct cmd_context *cmd;
|
||||||
@ -1021,7 +1021,6 @@ struct cmd_context *create_toolcontext(struct arg *the_args, unsigned is_static,
|
|||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
memset(cmd, 0, sizeof(*cmd));
|
memset(cmd, 0, sizeof(*cmd));
|
||||||
cmd->args = the_args;
|
|
||||||
cmd->is_static = is_static;
|
cmd->is_static = is_static;
|
||||||
cmd->is_long_lived = is_long_lived;
|
cmd->is_long_lived = is_long_lived;
|
||||||
cmd->handles_missing_pvs = 0;
|
cmd->handles_missing_pvs = 0;
|
||||||
|
@ -65,7 +65,6 @@ struct cmd_context {
|
|||||||
unsigned rand_seed;
|
unsigned rand_seed;
|
||||||
char *cmd_line;
|
char *cmd_line;
|
||||||
struct command *command;
|
struct command *command;
|
||||||
struct arg *args;
|
|
||||||
char **argv;
|
char **argv;
|
||||||
unsigned is_static:1; /* Static binary? */
|
unsigned is_static:1; /* Static binary? */
|
||||||
unsigned is_long_lived:1; /* Optimises persistent_filter handling */
|
unsigned is_long_lived:1; /* Optimises persistent_filter handling */
|
||||||
@ -96,7 +95,7 @@ struct cmd_context {
|
|||||||
char sysfs_dir[PATH_MAX];
|
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);
|
void destroy_toolcontext(struct cmd_context *cmd);
|
||||||
int refresh_toolcontext(struct cmd_context *cmd);
|
int refresh_toolcontext(struct cmd_context *cmd);
|
||||||
int config_files_changed(struct cmd_context *cmd);
|
int config_files_changed(struct cmd_context *cmd);
|
||||||
|
@ -24,7 +24,7 @@
|
|||||||
*/
|
*/
|
||||||
struct arg;
|
struct arg;
|
||||||
struct cmd_context;
|
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);
|
void destroy_toolcontext(struct cmd_context *cmd);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@ -37,7 +37,7 @@ lvm_handle_t lvm2_create(void);
|
|||||||
* NULL: Fail - unable to initialise handle.
|
* NULL: Fail - unable to initialise handle.
|
||||||
* non-NULL: Success - valid LVM2 handle returned
|
* 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
|
* lvm2_destroy
|
||||||
|
@ -54,59 +54,68 @@ static struct arg _the_args[ARG_COUNT + 1] = {
|
|||||||
static struct cmdline_context _cmdline;
|
static struct cmdline_context _cmdline;
|
||||||
|
|
||||||
/* Command line args */
|
/* 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)
|
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];
|
_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_NULL;
|
||||||
|
|
||||||
return cmd;
|
return cmd;
|
||||||
|
Loading…
Reference in New Issue
Block a user