]> git.ipfire.org Git - people/stevee/ipfire-3.x.git/blobdiff - multipath-tools/patches/0098-UPBZ-1067171-mutipath-i.patch
multipath-tools: Strip to kpartx only
[people/stevee/ipfire-3.x.git] / multipath-tools / patches / 0098-UPBZ-1067171-mutipath-i.patch
diff --git a/multipath-tools/patches/0098-UPBZ-1067171-mutipath-i.patch b/multipath-tools/patches/0098-UPBZ-1067171-mutipath-i.patch
deleted file mode 100644 (file)
index cf41863..0000000
+++ /dev/null
@@ -1,332 +0,0 @@
----
- libmultipath/config.h    |   15 ++++++++-
- libmultipath/configure.c |    2 -
- libmultipath/discovery.c |    5 +--
- multipath/main.c         |   75 +++++++++++++++++++++++++----------------------
- multipath/multipath.8    |    5 ++-
- 5 files changed, 61 insertions(+), 41 deletions(-)
-
-Index: multipath-tools-130222/libmultipath/config.h
-===================================================================
---- multipath-tools-130222.orig/libmultipath/config.h
-+++ multipath-tools-130222/libmultipath/config.h
-@@ -23,6 +23,17 @@ enum devtypes {
-       DEV_DEVMAP
- };
-+enum mpath_cmds {
-+      CMD_CREATE,
-+      CMD_DRY_RUN,
-+      CMD_LIST_SHORT,
-+      CMD_LIST_LONG,
-+      CMD_VALID_PATH,
-+      CMD_REMOVE_WWID,
-+      CMD_RESET_WWIDS,
-+      CMD_ADD_WWID,
-+};
-+
- struct hwentry {
-       char * vendor;
-       char * product;
-@@ -79,8 +90,7 @@ struct mpentry {
- struct config {
-       int verbosity;
--      int dry_run;
--      int list;
-+      enum mpath_cmds cmd;
-       int pgpolicy_flag;
-       int pgpolicy;
-       enum devtypes dev_type;
-@@ -98,6 +108,7 @@ struct config {
-       int max_fds;
-       int force_reload;
-       int queue_without_daemon;
-+      int ignore_wwids;
-       int checker_timeout;
-       int daemon;
-       int flush_on_last_del;
-Index: multipath-tools-130222/multipath/main.c
-===================================================================
---- multipath-tools-130222.orig/multipath/main.c
-+++ multipath-tools-130222/multipath/main.c
-@@ -85,7 +85,7 @@ usage (char * progname)
- {
-       fprintf (stderr, VERSION_STRING);
-       fprintf (stderr, "Usage:\n");
--      fprintf (stderr, "  %s [-a|-A|-c|-w|-W] [-d] [-T tm:val] [-r] [-v lvl] [-p pol] [-b fil] [-q] [dev]\n", progname);
-+      fprintf (stderr, "  %s [-a|-A|-c|-w|-W] [-d] [-T tm:val] [-r] [-i] [-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);
-@@ -109,6 +109,7 @@ usage (char * progname)
-               "  -d      dry run, do not create or update devmaps\n" \
-               "  -t      dump internal hardware table\n" \
-               "  -r      force devmap reload\n" \
-+              "  -i      ignore wwids file\n" \
-               "  -B      treat the bindings file as read only\n" \
-               "  -p      policy failover|multibus|group_by_serial|group_by_prio\n" \
-               "  -b fil  bindings file location\n" \
-@@ -209,18 +210,19 @@ get_dm_mpvec (vector curmp, vector pathv
-                * If not in "fast list mode", we need to fetch information
-                * about them
-                */
--              if (conf->list != 1)
-+              if (conf->cmd != CMD_LIST_SHORT)
-                       update_paths(mpp);
--              if (conf->list > 1)
-+              if (conf->cmd == CMD_LIST_LONG)
-                       mpp->bestpg = select_path_group(mpp);
-               disassemble_status(status, mpp);
--              if (conf->list)
-+              if (conf->cmd == CMD_LIST_SHORT ||
-+                  conf->cmd == CMD_LIST_LONG)
-                       print_multipath_topology(mpp, conf->verbosity);
--              if (!conf->dry_run)
-+              if (conf->cmd == CMD_CREATE)
-                       reinstate_paths(mpp);
-       }
-       return 0;
-@@ -262,10 +264,11 @@ configure (void)
-       /*
-        * if we have a blacklisted device parameter, exit early
-        */
--      if (dev && conf->dev_type == DEV_DEVNODE && conf->dry_run != 3 &&
-+      if (dev && conf->dev_type == DEV_DEVNODE &&
-+          conf->cmd != CMD_REMOVE_WWID &&
-           (filter_devnode(conf->blist_devnode,
-                           conf->elist_devnode, dev) > 0)) {
--              if (conf->dry_run == 2)
-+              if (conf->cmd == CMD_VALID_PATH)
-                       printf("%s is not a valid multipath device path\n",
-                              conf->dev);
-               goto out;
-@@ -278,13 +281,13 @@ configure (void)
-               int failed = get_refwwid(conf->dev, conf->dev_type, pathvec,
-                                        &refwwid);
-               if (!refwwid) {
--                      if (failed == 2 && conf->dry_run == 2)
-+                      if (failed == 2 && conf->cmd == CMD_VALID_PATH)
-                               printf("%s is not a valid multipath device path\n", conf->dev);
-                       else
-                               condlog(3, "scope is nul");
-                       goto out;
-               }
--              if (conf->dry_run == 3) {
-+              if (conf->cmd == CMD_REMOVE_WWID) {
-                       r = remove_wwid(refwwid);
-                       if (r == 0)
-                               printf("wwid '%s' removed\n", refwwid);
-@@ -295,7 +298,7 @@ configure (void)
-                       }
-                       goto out;
-               }
--              if (conf->dry_run == 5) {
-+              if (conf->cmd == CMD_ADD_WWID) {
-                       r = remember_wwid(refwwid);
-                       if (r == 0)
-                               printf("wwid '%s' added\n", refwwid);
-@@ -305,13 +308,13 @@ configure (void)
-                       goto out;
-               }
-               condlog(3, "scope limited to %s", refwwid);
--              if (conf->dry_run == 2) {
--                      if (check_wwids_file(refwwid, 0) == 0){
--                              printf("%s is a valid multipath device path\n", conf->dev);
-+              if (conf->cmd == CMD_VALID_PATH) {
-+                      if (conf->ignore_wwids ||
-+                          check_wwids_file(refwwid, 0) == 0)
-                               r = 0;
--                      }
--                      else
--                              printf("%s is not a valid multipath device path\n", conf->dev);
-+
-+                      printf("%s %s a valid multipath device path\n",
-+                             conf->dev, r == 0 ? "is" : "is not");
-                       goto out;
-               }
-       }
-@@ -319,13 +322,13 @@ configure (void)
-       /*
-        * get a path list
-        */
--      if (conf->dev && !conf->list)
-+      if (conf->dev)
-               di_flag = DI_WWID;
--      if (conf->list > 1)
-+      if (conf->cmd == CMD_LIST_LONG)
-               /* extended path info '-ll' */
-               di_flag |= DI_SYSFS | DI_CHECKER;
--      else if (conf->list)
-+      else if (conf->cmd == CMD_LIST_SHORT)
-               /* minimum path info '-l' */
-               di_flag |= DI_SYSFS;
-       else
-@@ -345,7 +348,7 @@ configure (void)
-       filter_pathvec(pathvec, refwwid);
--      if (conf->list) {
-+      if (conf->cmd != CMD_CREATE && conf->cmd != CMD_DRY_RUN) {
-               r = 0;
-               goto out;
-       }
-@@ -440,7 +443,7 @@ main (int argc, char *argv[])
-       int r = 1;
-       long int timestamp = -1;
-       int valid = -1;
--      while ((arg = getopt(argc, argv, ":aAdchl::FfM:v:p:b:BrtT:qwW")) != EOF ) {
-+      while ((arg = getopt(argc, argv, ":aAdchl::FfM:v:p:b:BritT:qwW")) != EOF ) {
-               switch(arg) {
-               case 'T':
-                       if (optarg[0] == ':')
-@@ -476,7 +479,7 @@ main (int argc, char *argv[])
-       if (dm_prereq())
-               exit(1);
--      while ((arg = getopt(argc, argv, ":aAdchl::FfM:v:p:b:BrtT:qwW")) != EOF ) {
-+      while ((arg = getopt(argc, argv, ":aAdchl::FfM:v:p:b:BritT:qwW")) != EOF ) {
-               switch(arg) {
-               case 1: printf("optarg : %s\n",optarg);
-                       break;
-@@ -499,11 +502,11 @@ main (int argc, char *argv[])
-                       conf->allow_queueing = 1;
-                       break;
-               case 'c':
--                      conf->dry_run = 2;
-+                      conf->cmd = CMD_VALID_PATH;
-                       break;
-               case 'd':
--                      if (!conf->dry_run)
--                              conf->dry_run = 1;
-+                      if (conf->cmd == CMD_CREATE)
-+                              conf->cmd = CMD_DRY_RUN;
-                       break;
-               case 'f':
-                       conf->remove = FLUSH_ONE;
-@@ -512,11 +515,10 @@ main (int argc, char *argv[])
-                       conf->remove = FLUSH_ALL;
-                       break;
-               case 'l':
--                      conf->list = 1;
--                      conf->dry_run = 1;
--
-                       if (optarg && !strncmp(optarg, "l", 1))
--                              conf->list++;
-+                              conf->cmd = CMD_LIST_LONG;
-+                      else
-+                              conf->cmd = CMD_LIST_SHORT;
-                       break;
-               case 'M':
-@@ -535,6 +537,9 @@ main (int argc, char *argv[])
-               case 'r':
-                       conf->force_reload = 1;
-                       break;
-+              case 'i':
-+                      conf->ignore_wwids = 1;
-+                      break;
-               case 't':
-                       r = dump_config();
-                       goto out;
-@@ -548,13 +553,13 @@ main (int argc, char *argv[])
-                       usage(argv[0]);
-                       exit(0);
-               case 'w':
--                      conf->dry_run = 3;
-+                      conf->cmd = CMD_REMOVE_WWID;
-                       break;
-               case 'W':
--                      conf->dry_run = 4;
-+                      conf->cmd = CMD_RESET_WWIDS;
-                       break;
-               case 'a':
--                      conf->dry_run = 5;
-+                      conf->cmd = CMD_ADD_WWID;
-                       break;
-               case ':':
-                       fprintf(stderr, "Missing option argument\n");
-@@ -600,16 +605,16 @@ main (int argc, char *argv[])
-       }
-       dm_init();
--      if (conf->dry_run == 2 &&
-+      if (conf->cmd == CMD_VALID_PATH &&
-           (!conf->dev || conf->dev_type == DEV_DEVMAP)) {
-               condlog(0, "the -c option requires a path to check");
-               goto out;
-       }
--      if (conf->dry_run == 3 && !conf->dev) {
-+      if (conf->cmd == CMD_REMOVE_WWID && !conf->dev) {
-               condlog(0, "the -w option requires a device");
-               goto out;
-       }
--      if (conf->dry_run == 4) {
-+      if (conf->cmd == CMD_RESET_WWIDS) {
-               struct multipath * mpp;
-               int i;
-               vector curmp;
-Index: multipath-tools-130222/multipath/multipath.8
-===================================================================
---- multipath-tools-130222.orig/multipath/multipath.8
-+++ multipath-tools-130222/multipath/multipath.8
-@@ -8,7 +8,7 @@ multipath \- Device mapper target autoco
- .RB [\| \-b\ \c
- .IR bindings_file \|]
- .RB [\| \-d \|]
--.RB [\| \-h | \-l | \-ll | \-f | \-t | \-F | \-B | \-c | \-q | \|-r | \-a | \-A | \-w | \-W \|]
-+.RB [\| \-h | \-l | \-ll | \-f | \-t | \-F | \-B | \-c | \-q | \|-r | \-r | \-a | \-A | \-w | \-W \|]
- .RB [\| \-p\ \c
- .BR failover | multibus | group_by_serial | group_by_prio | group_by_node_name \|]
- .RB [\| device \|]
-@@ -55,6 +55,9 @@ print internal hardware table to stdout
- .B \-r
- force devmap reload
- .TP
-+.B \-i
-+ignore wwids file when processing devices
-+.TP
- .B \-B
- treat the bindings file as read only
- .TP
-Index: multipath-tools-130222/libmultipath/configure.c
-===================================================================
---- multipath-tools-130222.orig/libmultipath/configure.c
-+++ multipath-tools-130222/libmultipath/configure.c
-@@ -580,7 +580,7 @@ domap (struct multipath * mpp, char * pa
-       /*
-        * last chance to quit before touching the devmaps
-        */
--      if (conf->dry_run && mpp->action != ACT_NOTHING) {
-+      if (conf->cmd == CMD_DRY_RUN && mpp->action != ACT_NOTHING) {
-               print_multipath_topology(mpp, conf->verbosity);
-               return DOMAP_DRY;
-       }
-Index: multipath-tools-130222/libmultipath/discovery.c
-===================================================================
---- multipath-tools-130222.orig/libmultipath/discovery.c
-+++ multipath-tools-130222/libmultipath/discovery.c
-@@ -54,7 +54,8 @@ store_pathinfo (vector pathvec, vector h
-       }
-       pp->udev = udev_device_ref(udevice);
-       err = pathinfo(pp, hwtable,
--                     (conf->dry_run == 3)? flag : (flag | DI_BLACKLIST));
-+                     (conf->cmd == CMD_REMOVE_WWID)? flag :
-+                                                     (flag | DI_BLACKLIST));
-       if (err)
-               goto out;
-@@ -1101,7 +1102,7 @@ get_uid (struct path * pp)
-       memset(pp->wwid, 0, WWID_SIZE);
-       value = udev_device_get_property_value(pp->udev, pp->uid_attribute);
--      if ((!value || strlen(value) == 0) && conf->dry_run == 2)
-+      if ((!value || strlen(value) == 0) && conf->cmd == CMD_VALID_PATH)
-               value = getenv(pp->uid_attribute);
-       if (value && strlen(value)) {
-               size_t len = WWID_SIZE;