From: wysochanski@sourceware.org <wysochanski@sourceware.org>
To: lvm-devel@redhat.com
Subject: LVM2 daemons/clvmd/lvm-functions.c lib/command ...
Date: 17 Dec 2008 16:46:46 -0000 [thread overview]
Message-ID: <20081217164646.6109.qmail@sourceware.org> (raw)
CVSROOT: /cvs/lvm2
Module name: LVM2
Changes by: wysochanski at sourceware.org 2008-12-17 16:46:45
Modified files:
daemons/clvmd : lvm-functions.c
lib/commands : toolcontext.c toolcontext.h
lib : lvm2.h
tools : lvmcmdline.c
Log message:
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.
Patches:
http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/daemons/clvmd/lvm-functions.c.diff?cvsroot=lvm2&r1=1.53&r2=1.54
http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/lib/commands/toolcontext.c.diff?cvsroot=lvm2&r1=1.70&r2=1.71
http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/lib/commands/toolcontext.h.diff?cvsroot=lvm2&r1=1.28&r2=1.29
http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/lib/lvm2.h.diff?cvsroot=lvm2&r1=1.1&r2=1.2
http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/tools/lvmcmdline.c.diff?cvsroot=lvm2&r1=1.88&r2=1.89
--- LVM2/daemons/clvmd/lvm-functions.c 2008/12/11 03:34:12 1.53
+++ LVM2/daemons/clvmd/lvm-functions.c 2008/12/17 16:46:45 1.54
@@ -724,7 +724,7 @@
/* 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;
}
--- LVM2/lib/commands/toolcontext.c 2008/12/12 03:30:41 1.70
+++ LVM2/lib/commands/toolcontext.c 2008/12/17 16:46:45 1.71
@@ -998,7 +998,7 @@
}
/* 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 @@
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;
--- LVM2/lib/commands/toolcontext.h 2008/12/07 04:27:56 1.28
+++ LVM2/lib/commands/toolcontext.h 2008/12/17 16:46:45 1.29
@@ -65,7 +65,6 @@
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 @@
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);
--- LVM2/lib/lvm2.h 2008/12/07 19:37:07 1.1
+++ LVM2/lib/lvm2.h 2008/12/17 16:46:45 1.2
@@ -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 @@
* 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
--- LVM2/tools/lvmcmdline.c 2008/12/17 16:45:32 1.88
+++ LVM2/tools/lvmcmdline.c 2008/12/17 16:46:45 1.89
@@ -54,59 +54,68 @@
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 @@
_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;
next reply other threads:[~2008-12-17 16:46 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-12-17 16:46 wysochanski [this message]
-- strict thread matches above, loose matches on Subject: below --
2008-12-11 3:33 LVM2 daemons/clvmd/lvm-functions.c lib/command wysochanski
2008-12-11 3:32 wysochanski
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20081217164646.6109.qmail@sourceware.org \
--to=wysochanski@sourceware.org \
--cc=lvm-devel@redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.