Hello community,

here is the log from the commit of package multipath-tools for openSUSE:Factory 
checked in at 2019-10-11 15:10:35
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/multipath-tools (Old)
 and      /work/SRC/openSUSE:Factory/.multipath-tools.new.2352 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "multipath-tools"

Fri Oct 11 15:10:35 2019 rev:119 rq:734963 version:0.8.3+9+suse.f6f2a52

Changes:
--------
--- /work/SRC/openSUSE:Factory/multipath-tools/multipath-tools.changes  
2019-09-11 10:25:10.111474359 +0200
+++ 
/work/SRC/openSUSE:Factory/.multipath-tools.new.2352/multipath-tools.changes    
    2019-10-11 15:11:07.997123563 +0200
@@ -1,0 +2,7 @@
+Fri Oct 04 10:22:41 UTC 2019 - [email protected]
+
+- Update to version 0.8.3+9+suse.f6f2a52
+- Minor upstream improvements and bug fixes
+  * libmultipath: EMC PowerMax NVMe device config
+
+-------------------------------------------------------------------

Old:
----
  multipath-tools-0.8.2+27+suse.3ff280b.tar.xz

New:
----
  multipath-tools-0.8.3+9+suse.f6f2a52.tar.xz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ multipath-tools.spec ++++++
--- /var/tmp/diff_new_pack.YyyOw4/_old  2019-10-11 15:11:12.029112479 +0200
+++ /var/tmp/diff_new_pack.YyyOw4/_new  2019-10-11 15:11:12.029112479 +0200
@@ -49,7 +49,7 @@
 %define _sysdir usr/lib
 
 Name:           multipath-tools
-Version:        0.8.2+27+suse.3ff280b
+Version:        0.8.3+9+suse.f6f2a52
 Release:        0
 Summary:        Tools to Manage Multipathed Devices with the device-mapper
 License:        GPL-2.0-only

++++++ _service ++++++
--- /var/tmp/diff_new_pack.YyyOw4/_old  2019-10-11 15:11:12.065112380 +0200
+++ /var/tmp/diff_new_pack.YyyOw4/_new  2019-10-11 15:11:12.065112380 +0200
@@ -8,7 +8,7 @@
        are have been added to factory before upstream will be
        counted. Determine patch offset manually! It should be the number
        of patches which are _really_ not upstream (yet). -->
-    <param name="versionformat">@PARENT_TAG@+27+suse.%h</param>
+    <param name="versionformat">@PARENT_TAG@+9+suse.%h</param>
     <param name="revision">factory</param>
     <param name="match-tag">0.[0-9].[0-9]</param>
     <param name="changesgenerate">enable</param>

++++++ _servicedata ++++++
--- /var/tmp/diff_new_pack.YyyOw4/_old  2019-10-11 15:11:12.093112303 +0200
+++ /var/tmp/diff_new_pack.YyyOw4/_new  2019-10-11 15:11:12.093112303 +0200
@@ -1,4 +1,4 @@
 <servicedata>
 <service name="tar_scm">
                 <param 
name="url">https://github.com/openSUSE/multipath-tools.git</param>
-              <param 
name="changesrevision">3ff280b7fe8d71e0176574d5d36f88afa5a7fe5f</param></service></servicedata>
\ No newline at end of file
+              <param 
name="changesrevision">f6f2a5270bb7ef50206b275a5aea6c907a30715a</param></service></servicedata>
\ No newline at end of file

++++++ multipath-tools-0.8.2+27+suse.3ff280b.tar.xz -> 
multipath-tools-0.8.3+9+suse.f6f2a52.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/multipath-tools-0.8.2+27+suse.3ff280b/kpartx/solaris.c 
new/multipath-tools-0.8.3+9+suse.f6f2a52/kpartx/solaris.c
--- old/multipath-tools-0.8.2+27+suse.3ff280b/kpartx/solaris.c  2019-09-04 
10:34:55.000000000 +0200
+++ new/multipath-tools-0.8.3+9+suse.f6f2a52/kpartx/solaris.c   2019-10-04 
12:18:52.000000000 +0200
@@ -1,17 +1,15 @@
 #include "kpartx.h"
 #include <stdio.h>
-#include <sys/types.h>
+#include <linux/types.h>
 #include <time.h>              /* time_t */
 
 #define SOLARIS_X86_NUMSLICE   8
 #define SOLARIS_X86_VTOC_SANE  (0x600DDEEEUL)
 
-//typedef int daddr_t;         /* or long - check */
-
 struct solaris_x86_slice {
        unsigned short  s_tag;          /* ID tag of partition */
        unsigned short  s_flag;         /* permission flags */
-       long            s_start;        /* start sector no of partition */
+       __kernel_daddr_t s_start;       /* start sector no of partition */
        long            s_size;         /* # of blocks in partition */
 };
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/multipath-tools-0.8.2+27+suse.3ff280b/libmpathpersist/mpath_persist.c 
new/multipath-tools-0.8.3+9+suse.f6f2a52/libmpathpersist/mpath_persist.c
--- old/multipath-tools-0.8.2+27+suse.3ff280b/libmpathpersist/mpath_persist.c   
2019-09-04 10:34:55.000000000 +0200
+++ new/multipath-tools-0.8.3+9+suse.f6f2a52/libmpathpersist/mpath_persist.c    
2019-10-04 12:18:52.000000000 +0200
@@ -82,18 +82,10 @@
 
                vector_foreach_slot (pgp->paths, pp, j){
                        if (!strlen(pp->dev)){
-                               if (devt2devname(pp->dev, FILE_NAME_SIZE,
-                                                pp->dev_t)){
-                                       /*
-                                        * path is not in sysfs anymore
-                                        */
-                                       pp->state = PATH_DOWN;
-                                       continue;
-                               }
-                               pp->mpp = mpp;
-                               conf = get_multipath_config();
-                               pathinfo(pp, conf, DI_ALL);
-                               put_multipath_config(conf);
+                               /*
+                                * path is not in sysfs anymore
+                                */
+                               pp->state = PATH_DOWN;
                                continue;
                        }
                        pp->mpp = mpp;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/multipath-tools-0.8.2+27+suse.3ff280b/libmultipath/checkers/emc_clariion.c 
new/multipath-tools-0.8.3+9+suse.f6f2a52/libmultipath/checkers/emc_clariion.c
--- 
old/multipath-tools-0.8.2+27+suse.3ff280b/libmultipath/checkers/emc_clariion.c  
    2019-09-04 10:34:55.000000000 +0200
+++ 
new/multipath-tools-0.8.3+9+suse.f6f2a52/libmultipath/checkers/emc_clariion.c   
    2019-10-04 12:18:52.000000000 +0200
@@ -107,11 +107,18 @@
                return 1;
        ((struct emc_clariion_checker_path_context *)c->context)->wwn_set = 0;
 
+       return 0;
+}
+
+int libcheck_mp_init (struct checker * c)
+{
        /*
         * Allocate and initialize the multi-path global context.
         */
        if (c->mpcontext && *c->mpcontext == NULL) {
                void * mpctxt = malloc(sizeof(int));
+               if (!mpctxt)
+                       return 1;
                *c->mpcontext = mpctxt;
                CLR_INACTIVE_SNAP(c);
        }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/multipath-tools-0.8.2+27+suse.3ff280b/libmultipath/checkers.c 
new/multipath-tools-0.8.3+9+suse.f6f2a52/libmultipath/checkers.c
--- old/multipath-tools-0.8.2+27+suse.3ff280b/libmultipath/checkers.c   
2019-09-04 10:34:55.000000000 +0200
+++ new/multipath-tools-0.8.3+9+suse.f6f2a52/libmultipath/checkers.c    
2019-10-04 12:18:52.000000000 +0200
@@ -16,6 +16,7 @@
        char name[CHECKER_NAME_LEN];
        int (*check)(struct checker *);
        int (*init)(struct checker *);       /* to allocate the context */
+       int (*mp_init)(struct checker *);    /* to allocate the mpcontext */
        void (*free)(struct checker *);      /* to free the context */
        const char **msgtable;
        short msgtable_size;
@@ -140,6 +141,10 @@
        if (!c->init)
                goto out;
 
+       c->mp_init = (int (*)(struct checker *)) dlsym(c->handle, 
"libcheck_mp_init");
+       /* NULL mp_init is o.k. call dlerror() to clear out any error string */
+       dlerror();
+
        c->free = (void (*)(struct checker *)) dlsym(c->handle, 
"libcheck_free");
        errstr = dlerror();
        if (errstr != NULL)
@@ -212,8 +217,26 @@
        if (!c || !c->cls)
                return 1;
        c->mpcontext = mpctxt_addr;
-       if (c->cls->init)
-               return c->cls->init(c);
+       if (c->cls->init && c->cls->init(c) != 0)
+               return 1;
+       if (mpctxt_addr && *mpctxt_addr == NULL && c->cls->mp_init &&
+           c->cls->mp_init(c) != 0) /* continue even if mp_init fails */
+               c->mpcontext = NULL;
+       return 0;
+}
+
+int checker_mp_init(struct checker * c, void ** mpctxt_addr)
+{
+       if (!c || !c->cls)
+               return 1;
+       if (c->mpcontext || !mpctxt_addr)
+               return 0;
+       c->mpcontext = mpctxt_addr;
+       if (*mpctxt_addr == NULL && c->cls->mp_init &&
+           c->cls->mp_init(c) != 0) {
+               c->mpcontext = NULL;
+               return 1;
+       }
        return 0;
 }
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/multipath-tools-0.8.2+27+suse.3ff280b/libmultipath/checkers.h 
new/multipath-tools-0.8.3+9+suse.f6f2a52/libmultipath/checkers.h
--- old/multipath-tools-0.8.2+27+suse.3ff280b/libmultipath/checkers.h   
2019-09-04 10:34:55.000000000 +0200
+++ new/multipath-tools-0.8.3+9+suse.f6f2a52/libmultipath/checkers.h    
2019-10-04 12:18:52.000000000 +0200
@@ -138,6 +138,7 @@
 int init_checkers(const char *);
 void cleanup_checkers (void);
 int checker_init (struct checker *, void **);
+int checker_mp_init(struct checker *, void **);
 void checker_clear (struct checker *);
 void checker_put (struct checker *);
 void checker_reset (struct checker *);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/multipath-tools-0.8.2+27+suse.3ff280b/libmultipath/discovery.c 
new/multipath-tools-0.8.3+9+suse.f6f2a52/libmultipath/discovery.c
--- old/multipath-tools-0.8.2+27+suse.3ff280b/libmultipath/discovery.c  
2019-09-04 10:34:55.000000000 +0200
+++ new/multipath-tools-0.8.3+9+suse.f6f2a52/libmultipath/discovery.c   
2019-10-04 12:18:52.000000000 +0200
@@ -1608,6 +1608,8 @@
                        return PATH_UNCHECKED;
                }
        }
+       if (pp->mpp && !c->mpcontext)
+               checker_mp_init(c, &pp->mpp->mpcontext);
        checker_clear_message(c);
        if (daemon) {
                if (conf->force_sync == 0)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/multipath-tools-0.8.2+27+suse.3ff280b/libmultipath/hwtable.c 
new/multipath-tools-0.8.3+9+suse.f6f2a52/libmultipath/hwtable.c
--- old/multipath-tools-0.8.2+27+suse.3ff280b/libmultipath/hwtable.c    
2019-09-04 10:34:55.000000000 +0200
+++ new/multipath-tools-0.8.3+9+suse.f6f2a52/libmultipath/hwtable.c     
2019-10-04 12:18:52.000000000 +0200
@@ -107,7 +107,7 @@
         * HPE
         */
        {
-               /* 3PAR */
+               /* 3PAR / Primera */
                .vendor        = "3PARdata",
                .product       = "VV",
                .pgpolicy      = GROUP_BY_PRIO,
@@ -300,6 +300,27 @@
                .prio_name     = PRIO_ALUA,
                .no_path_retry = 30,
        },
+       {
+               /*
+                * Nexenta COMSTAR
+                *
+                * Maintainer: Yacine Kheddache <[email protected]>
+                */
+               .vendor        = "NEXENTA",
+               .product       = "COMSTAR",
+               .pgpolicy      = GROUP_BY_SERIAL,
+               .no_path_retry = 30,
+       },
+       {
+               /* Tegile IntelliFlash */
+               .vendor        = "TEGILE",
+               .product       = "(ZEBI-(FC|ISCSI)|INTELLIFLASH)",
+               .hwhandler     = "1 alua",
+               .pgpolicy      = GROUP_BY_PRIO,
+               .pgfailback    = -FAILBACK_IMMEDIATE,
+               .prio_name     = PRIO_ALUA,
+               .no_path_retry = 10,
+       },
        /*
         * Dell EMC
         */
@@ -360,6 +381,12 @@
                .pgfailback    = -FAILBACK_IMMEDIATE,
                .no_path_retry = 30,
        },
+       {
+               /* EMC PowerMax NVMe */
+               .vendor        = "NVME",
+               .product       = "^EMC PowerMax_",
+               .pgpolicy      = MULTIBUS,
+       },
        /*
         * Fujitsu
         */
@@ -781,18 +808,6 @@
                .no_path_retry = NO_PATH_RETRY_QUEUE,
        },
        /*
-        * Nexenta
-        *
-        * Maintainer: Yacine Kheddache <[email protected]>
-        */
-       {
-               /* COMSTAR */
-               .vendor        = "NEXENTA",
-               .product       = "COMSTAR",
-               .pgpolicy      = GROUP_BY_SERIAL,
-               .no_path_retry = 30,
-       },
-       /*
         * NEC
         */
        {
@@ -1076,19 +1091,6 @@
                .pgpolicy      = MULTIBUS,
        },
        /*
-        * Western Digital (Tegile Systems)
-        */
-       {
-               /* IntelliFlash */
-               .vendor        = "TEGILE",
-               .product       = "(ZEBI-(FC|ISCSI)|INTELLIFLASH)",
-               .hwhandler     = "1 alua",
-               .pgpolicy      = GROUP_BY_PRIO,
-               .pgfailback    = -FAILBACK_IMMEDIATE,
-               .prio_name     = PRIO_ALUA,
-               .no_path_retry = 10,
-       },
-       /*
         * Imation/Nexsan
         */
        {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/multipath-tools-0.8.2+27+suse.3ff280b/libmultipath/version.h 
new/multipath-tools-0.8.3+9+suse.f6f2a52/libmultipath/version.h
--- old/multipath-tools-0.8.2+27+suse.3ff280b/libmultipath/version.h    
2019-09-04 10:34:55.000000000 +0200
+++ new/multipath-tools-0.8.3+9+suse.f6f2a52/libmultipath/version.h     
2019-10-04 12:18:52.000000000 +0200
@@ -20,8 +20,8 @@
 #ifndef _VERSION_H
 #define _VERSION_H
 
-#define VERSION_CODE 0x000802
-#define DATE_CODE    0x070313
+#define VERSION_CODE 0x000803
+#define DATE_CODE    0x0a0213
 
 #define PROG    "multipath-tools"
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/multipath-tools-0.8.2+27+suse.3ff280b/mpathpersist/main.c 
new/multipath-tools-0.8.3+9+suse.f6f2a52/mpathpersist/main.c
--- old/multipath-tools-0.8.2+27+suse.3ff280b/mpathpersist/main.c       
2019-09-04 10:34:55.000000000 +0200
+++ new/multipath-tools-0.8.3+9+suse.f6f2a52/mpathpersist/main.c        
2019-10-04 12:18:52.000000000 +0200
@@ -155,7 +155,8 @@
 
 static int handle_args(int argc, char * argv[], int nline)
 {
-       int fd, c;
+       int c;
+       int fd = -1;
        const char *device_name = NULL;
        int num_prin_sa = 0;
        int num_prout_sa = 0;
@@ -213,7 +214,8 @@
                                if (nline == 0 && 1 != sscanf (optarg, "%d", 
&loglevel))
                                {
                                        fprintf (stderr, "bad argument to 
'--verbose'\n");
-                                       return MPATH_PR_SYNTAX_ERROR;
+                                       ret = MPATH_PR_SYNTAX_ERROR;
+                                       goto out;
                                }
                                break;
 
@@ -228,6 +230,7 @@
 
                        case 'h':
                                usage ();
+                               free(batch_fn);
                                return 0;
 
                        case 'H':
@@ -254,7 +257,8 @@
                                if (1 != sscanf (optarg, "%" SCNx64 "", 
&param_rk))
                                {
                                        fprintf (stderr, "bad argument to 
'--param-rk'\n");
-                                       return MPATH_PR_SYNTAX_ERROR;
+                                       ret = MPATH_PR_SYNTAX_ERROR;
+                                       goto out;
                                }
                                ++num_prout_param;
                                break;
@@ -263,7 +267,8 @@
                                if (1 != sscanf (optarg, "%" SCNx64 "", 
&param_sark))
                                {
                                        fprintf (stderr, "bad argument to 
'--param-sark'\n");
-                                       return MPATH_PR_SYNTAX_ERROR;
+                                       ret = MPATH_PR_SYNTAX_ERROR;
+                                       goto out;
                                }
                                ++num_prout_param;
                                break;
@@ -282,7 +287,8 @@
                                if (1 != sscanf (optarg, "%x", &prout_type))
                                {
                                        fprintf (stderr, "bad argument to 
'--prout-type'\n");
-                                       return MPATH_PR_SYNTAX_ERROR;
+                                       ret = MPATH_PR_SYNTAX_ERROR;
+                                       goto out;
                                }
                                ++num_prout_param;
                                break;
@@ -330,7 +336,8 @@
                        case 'X':
                                if (0 != construct_transportid(optarg, 
transportids, num_transport)) {
                                        fprintf(stderr, "bad argument to 
'--transport-id'\n");
-                                       return MPATH_PR_SYNTAX_ERROR;
+                                       ret = MPATH_PR_SYNTAX_ERROR;
+                                       goto out;
                                }
 
                                ++num_transport;
@@ -339,11 +346,13 @@
                        case 'l':
                                if (1 != sscanf(optarg, "%u", 
&mpath_mx_alloc_len)) {
                                        fprintf(stderr, "bad argument to 
'--alloc-length'\n");
-                                       return MPATH_PR_SYNTAX_ERROR;
+                                       ret = MPATH_PR_SYNTAX_ERROR;
+                                       goto out;
                                } else if (MPATH_MAX_PARAM_LEN < 
mpath_mx_alloc_len) {
                                        fprintf(stderr, "'--alloc-length' 
argument exceeds maximum"
                                                        " limit(%d)\n", 
MPATH_MAX_PARAM_LEN);
-                                       return MPATH_PR_SYNTAX_ERROR;
+                                       ret = MPATH_PR_SYNTAX_ERROR;
+                                       goto out;
                                }
                                break;
 
@@ -420,12 +429,14 @@
                        fprintf (stderr,
                                        " No service action given for 
Persistent Reserve IN\n");
                        ret = MPATH_PR_SYNTAX_ERROR;
+                       goto out;
                }
                else if (num_prin_sa > 1)
                {
                        fprintf (stderr, " Too many service actions given; 
choose "
                                        "one only\n");
                        ret = MPATH_PR_SYNTAX_ERROR;
+                       goto out;
                }
        }
        else
@@ -481,14 +492,14 @@
                {
                        fprintf (stderr, "failed to allocate PRIN response 
buffer\n");
                        ret = MPATH_PR_OTHER;
-                       goto out;
+                       goto out_fd;
                }
 
                ret = __mpath_persistent_reserve_in (fd, prin_sa, resp, noisy);
                if (ret != MPATH_PR_SUCCESS )
                {
                        fprintf (stderr, "Persistent Reserve IN command 
failed\n");
-                       goto out;
+                       goto out_fd;
                }
 
                switch(prin_sa)
@@ -568,8 +579,8 @@
                printf("PR out: command failed\n");
        }
 
+out_fd:
        close (fd);
-
 out :
        if (ret == MPATH_PR_SYNTAX_ERROR) {
                free(batch_fn);
@@ -844,12 +855,7 @@
                        "    --reserve|-R               PR Out: Reserve\n"
                        "    --transport-id=TIDS|-X TIDS  TransportIDs can be 
mentioned\n"
                        "                                 in several forms\n"
-                       "    --alloc-length=LEN|-l LEN  PR In: maximum 
allocation length\n"
-                       " Examples:\n"
-                       "     mpathpersist --out --register --param-sark=123abc 
--prout-type=5 /dev/mapper/mpath9\n"
-                       "     mpathpersist -i -k /dev/mapper/mpath9\n"
-                       "     mpathpersist --out --reserve --param-sark=123abc 
--prout-type=8 -d /dev/mapper/mpath9\n"
-                       "     mpathpersist -i -s -d /dev/mapper/mpath9\n");
+                       "    --alloc-length=LEN|-l LEN  PR In: maximum 
allocation length\n");
 }
 
 void
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/multipath-tools-0.8.2+27+suse.3ff280b/multipath/multipath.conf.5 
new/multipath-tools-0.8.3+9+suse.f6f2a52/multipath/multipath.conf.5
--- old/multipath-tools-0.8.2+27+suse.3ff280b/multipath/multipath.conf.5        
2019-09-04 10:34:55.000000000 +0200
+++ new/multipath-tools-0.8.3+9+suse.f6f2a52/multipath/multipath.conf.5 
2019-10-04 12:18:52.000000000 +0200
@@ -4,8 +4,6 @@
 .\" groff -z -wall -b -e -t multipath/multipath.conf.5
 .\" man --warnings -E UTF-8 -l -Tutf8 -Z multipath/multipath.conf.5 >/dev/null
 .\"
-.\" TODO: Look for XXX and ???
-.\"
 .\" 
----------------------------------------------------------------------------
 .
 .TH MULTIPATH.CONF 5 2018-05-21 Linux


Reply via email to