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 "",
¶m_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 "",
¶m_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