[dm-devel] [PATCH 05/12] allow users to add wwids to /etc/multipath/wwids with -a
Christophe Varoqui
christophe.varoqui at opensvc.com
Tue Jul 1 18:58:13 UTC 2014
Applied.
Thanks.
On Mon, Jun 30, 2014 at 7:13 AM, Benjamin Marzinski <bmarzins at redhat.com>
wrote:
> The patch adds a "-a" option to multipath, that allows it to add wwids
> to the /etc/multipath wwids file.
>
> Signed-off-by: Benjamin Marzinski <bmarzins at redhat.com>
> ---
> libmultipath/config.h | 1 +
> multipath/main.c | 17 +++++++++++++++--
> multipath/multipath.8 | 5 ++++-
> 3 files changed, 20 insertions(+), 3 deletions(-)
>
> diff --git a/libmultipath/config.h b/libmultipath/config.h
> index eb23820..ac7c58e 100644
> --- a/libmultipath/config.h
> +++ b/libmultipath/config.h
> @@ -30,6 +30,7 @@ enum mpath_cmds {
> CMD_VALID_PATH,
> CMD_REMOVE_WWID,
> CMD_RESET_WWIDS,
> + CMD_ADD_WWID,
> };
>
> struct hwentry {
> diff --git a/multipath/main.c b/multipath/main.c
> index 54b2a74..157475e 100644
> --- a/multipath/main.c
> +++ b/multipath/main.c
> @@ -84,7 +84,7 @@ usage (char * progname)
> {
> fprintf (stderr, VERSION_STRING);
> fprintf (stderr, "Usage:\n");
> - fprintf (stderr, " %s [-c|-w|-W] [-d] [-r] [-v lvl] [-p pol] [-b
> fil] [-q] [dev]\n", progname);
> + fprintf (stderr, " %s [-a|-c|-w|-W] [-d] [-r] [-v lvl] [-p pol]
> [-b fil] [-q] [dev]\n", progname);
> fprintf (stderr, " %s -l|-ll|-f [-v lvl] [-b fil] [dev]\n",
> progname);
> fprintf (stderr, " %s -F [-v lvl]\n", progname);
> fprintf (stderr, " %s -t\n", progname);
> @@ -97,6 +97,7 @@ usage (char * progname)
> " -ll show multipath topology (maximum info)\n" \
> " -f flush a multipath device map\n" \
> " -F flush all multipath device maps\n" \
> + " -a add a device wwid to the wwids file\n" \
> " -c check if a device should be a path in a
> multipath device\n" \
> " -q allow queue_if_no_path when multipathd is not
> running\n"\
> " -d dry run, do not create or update devmaps\n" \
> @@ -295,6 +296,15 @@ configure (void)
> }
> goto out;
> }
> + if (conf->cmd == CMD_ADD_WWID) {
> + r = remember_wwid(refwwid);
> + if (r == 0)
> + printf("wwid '%s' added\n", refwwid);
> + else
> + printf("failed adding '%s' to wwids
> file\n",
> + refwwid);
> + goto out;
> + }
> condlog(3, "scope limited to %s", refwwid);
> if (conf->cmd == CMD_VALID_PATH) {
> if (check_wwids_file(refwwid, 0) == 0){
> @@ -435,7 +445,7 @@ main (int argc, char *argv[])
> if (load_config(DEFAULT_CONFIGFILE, udev))
> exit(1);
>
> - while ((arg = getopt(argc, argv, ":dchl::FfM:v:p:b:BrtqwW")) !=
> EOF ) {
> + while ((arg = getopt(argc, argv, ":adchl::FfM:v:p:b:BrtqwW")) !=
> EOF ) {
> switch(arg) {
> case 1: printf("optarg : %s\n",optarg);
> break;
> @@ -505,6 +515,9 @@ main (int argc, char *argv[])
> case 'W':
> conf->cmd = CMD_RESET_WWIDS;
> break;
> + case 'a':
> + conf->cmd = CMD_ADD_WWID;
> + break;
> case ':':
> fprintf(stderr, "Missing option argument\n");
> usage(argv[0]);
> diff --git a/multipath/multipath.8 b/multipath/multipath.8
> index a2262ac..b6479b1 100644
> --- a/multipath/multipath.8
> +++ b/multipath/multipath.8
> @@ -8,7 +8,7 @@ multipath \- Device mapper target autoconfig
> .RB [\| \-b\ \c
> .IR bindings_file \|]
> .RB [\| \-d \|]
> -.RB [\| \-h | \-l | \-ll | \-f | \-t | \-F | \-B | \-c | \-q | \|-r | \-w
> | \-W \|]
> +.RB [\| \-h | \-l | \-ll | \-f | \-t | \-F | \-B | \-c | \-q | \|-r | \-a
> | \-w | \-W \|]
> .RB [\| \-p\ \c
> .BR failover | multibus | group_by_serial | group_by_prio |
> group_by_node_name \|]
> .RB [\| device \|]
> @@ -68,6 +68,9 @@ check if a block device should be a path in a multipath
> device
> .B \-q
> allow device tables with queue_if_no_path when multipathd is not running
> .TP
> +.B \-a
> +add the wwid for the specified device to the wwids file
> +.TP
> .B \-w
> remove the wwid for the specified device from the wwids file
> .TP
> --
> 1.8.3.1
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://listman.redhat.com/archives/dm-devel/attachments/20140701/97376301/attachment.htm>
More information about the dm-devel
mailing list