Hello community,

here is the log from the commit of package multipath-tools for openSUSE:Factory 
checked in at 2018-01-23 13:46:15
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/multipath-tools (Old)
 and      /work/SRC/openSUSE:Factory/.multipath-tools.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "multipath-tools"

Tue Jan 23 13:46:15 2018 rev:95 rq:567776 version:0.7.3+30+suse.6b5ed839

Changes:
--------
--- /work/SRC/openSUSE:Factory/multipath-tools/multipath-tools.changes  
2017-11-10 14:42:08.169188430 +0100
+++ /work/SRC/openSUSE:Factory/.multipath-tools.new/multipath-tools.changes     
2018-01-23 13:46:18.736329622 +0100
@@ -1,0 +2,65 @@
+Fri Jan 19 18:09:52 UTC 2018 - [email protected]
+
+- Update to version 0.7.3+30+suse.6b5ed839:
+  * multipath.rules: temporary rule to obtain ID_WWN for NVMe
+  (bsc#1076828)
+  * libmultipath: ignore natively multipathed NVME devices
+  (bsc#1076828)
+  * multipath.rules: handle NVME devices (bsc#1076828)
+  * FIX "libmultipath: hwtable: multibus for NetApp NVMe-FC"
+  (bsc#1073319)
+  * libmultipath: increase path product_id/rev field size for NVMe
+  (bsc#1073319)
+
+-------------------------------------------------------------------
+Tue Jan 16 14:18:15 UTC 2018 - [email protected]
+
+- Update to version 0.7.3+25+suse.7c9920e2:
+  * assemble_map: no newline at end of params string (bsc#1072253)
+
+-------------------------------------------------------------------
+Thu Jan 11 12:38:41 UTC 2018 - [email protected]
+
+- Update to version 0.7.3+24+suse.703a61d5:
+  * multipathd.service: drop Before=lvm2-lvmetad.service (bsc#1070427)
+  * libmultipath: hwtable: multibus for NetApp NVMe-FC
+  (bsc#1073319)
+  * libmultipath/propsel: select ALUA prioritizer for RDAC arrays only
+  (bsc#1075539)
+  * libmultipath: get_vpd_sgio: support VPD 0xc9 (bsc#1055949)
+  * libmultipath: sgio_get_vpd: add page argument (bsc#1055949)
+  * libmultipath: fix return code of sgio_get_vpd() (bsc#1055949)
+
+-------------------------------------------------------------------
+Fri Dec 22 20:19:40 UTC 2017 - [email protected]
+
+- Update to version 0.7.3+19+suse.0fd18bdd:
+  * multipathd.socket: add WantedBy=sockets.target (bsc#1072253)
+
+-------------------------------------------------------------------
+Fri Dec 22 17:21:57 UTC 2017 - [email protected]
+
+- Update to version 0.7.3+18+suse.8c97f433:
+  * multipath -C: decrease log level (bsc#1072504)
+
+-------------------------------------------------------------------
+Fri Dec 22 16:30:47 UTC 2017 - [email protected]
+
+- Update to version 0.7.3+17+suse.cac42e6f:
+  * test-kpartx: add test for mapping without UUID
+  (bsc#1074013)
+
+-------------------------------------------------------------------
+Wed Nov 29 21:41:37 UTC 2017 - [email protected]
+
+- Update to version 0.7.3+15+suse.570d5938:
+  * kpartx.rules: fix by-id/scsi-* for user_friendly_names
+  (bsc#1066893)
+
+-------------------------------------------------------------------
+Mon Nov 20 17:59:50 UTC 2017 - [email protected]
+
+- Update to version 0.7.3+14+suse.da06e7f3:
+  * libmultipath: fix return code of sysfs_get_timeout (bsc#1069037)
+
+-------------------------------------------------------------------

Old:
----
  multipath-tools-0.7.3+13+suse.db431514.tar.xz

New:
----
  multipath-tools-0.7.3+30+suse.6b5ed839.tar.xz

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

Other differences:
------------------
++++++ multipath-tools.spec ++++++
--- /var/tmp/diff_new_pack.xDyp5I/_old  2018-01-23 13:46:19.500293934 +0100
+++ /var/tmp/diff_new_pack.xDyp5I/_new  2018-01-23 13:46:19.500293934 +0100
@@ -1,7 +1,7 @@
 #
 # spec file for package multipath-tools
 #
-# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany.
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -97,7 +97,7 @@
 
 Name:           multipath-tools
 Url:            http://christophe.varoqui.free.fr/
-Version:        0.7.3+13+suse.db431514
+Version:        0.7.3+30+suse.6b5ed839
 Release:        0
 Summary:        Tools to Manage Multipathed Devices with the device-mapper
 License:        GPL-2.0

++++++ _servicedata ++++++
--- /var/tmp/diff_new_pack.xDyp5I/_old  2018-01-23 13:46:19.548291692 +0100
+++ /var/tmp/diff_new_pack.xDyp5I/_new  2018-01-23 13:46:19.548291692 +0100
@@ -1,4 +1,4 @@
 <servicedata>
 <service name="tar_scm">
                 <param 
name="url">https://github.com/openSUSE/multipath-tools.git</param>
-              <param 
name="changesrevision">db431514080f1479dcdf038a27214fd4a989c3d8</param></service></servicedata>
\ No newline at end of file
+              <param 
name="changesrevision">6b5ed8398a5d3b35cdf674d8256d9390a632b763</param></service></servicedata>
\ No newline at end of file

++++++ multipath-tools-0.7.3+13+suse.db431514.tar.xz -> 
multipath-tools-0.7.3+30+suse.6b5ed839.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/multipath-tools-0.7.3+13+suse.db431514/kpartx/dm-parts.rules 
new/multipath-tools-0.7.3+30+suse.6b5ed839/kpartx/dm-parts.rules
--- old/multipath-tools-0.7.3+13+suse.db431514/kpartx/dm-parts.rules    
2017-10-24 22:17:28.000000000 +0200
+++ new/multipath-tools-0.7.3+30+suse.6b5ed839/kpartx/dm-parts.rules    
2018-01-19 19:08:38.000000000 +0100
@@ -31,8 +31,8 @@
 IMPORT{program}=="kpartx_id %M %m $env{DM_UUID}"
 
 # DM_TYPE only has a reasonable value for partitions on multipath.
-ENV{DM_UUID}=="*-mpath-*", ENV{DM_TYPE}=="?*" \
-       SYMLINK+="disk/by-id/$env{DM_TYPE}-$env{DM_NAME}"
+ENV{DM_UUID}=="*-mpath-*", ENV{DM_TYPE}=="?*", ENV{DM_SERIAL}=="?*" \
+       SYMLINK+="disk/by-id/$env{DM_TYPE}-$env{DM_SERIAL}-part$env{DM_PART}"
 ENV{DM_WWN}=="?*", ENV{DM_PART}=="?*", \
        SYMLINK+="disk/by-id/wwn-$env{DM_WWN}-part$env{DM_PART}"
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/multipath-tools-0.7.3+13+suse.db431514/kpartx/kpartx_id 
new/multipath-tools-0.7.3+30+suse.6b5ed839/kpartx/kpartx_id
--- old/multipath-tools-0.7.3+13+suse.db431514/kpartx/kpartx_id 2017-10-24 
22:17:28.000000000 +0200
+++ new/multipath-tools-0.7.3+30+suse.6b5ed839/kpartx/kpartx_id 2018-01-19 
19:08:38.000000000 +0100
@@ -42,6 +42,7 @@
 dmuuid=${UUID#*-}
 dmtbl=${UUID%%-*}
 dmpart=${dmtbl#part}
+dmserial=
 # kpartx types are 'part<num>'
 if [ "$dmpart" = "$dmtbl" ] ; then
     dmpart=
@@ -59,10 +60,12 @@
     case "$dmuuid" in
        mpath-*)
            dmdeps=$($DMSETUP deps -u $dmuuid)
+           dmserial=${dmuuid#mpath-}
            ;;
     esac
 elif [ "$dmtbl" = "mpath" ] ; then
     dmname="$dmuuid"
+    dmserial="$dmuuid"
     # We need the dependencies of the table to figure out the type
     dmdeps=$($DMSETUP deps -u $UUID)
 fi
@@ -84,11 +87,14 @@
            ;;
        *)
            echo "DM_TYPE=scsi"
-           echo "DM_WWN=0x${dmname#?}"
+           echo "DM_WWN=0x${dmserial#?}"
            ;;
     esac
 else
     echo "DM_TYPE=raid"
 fi
+if [[ $dmserial ]]; then
+    echo "DM_SERIAL=$dmserial"
+fi
 
 exit 0
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/multipath-tools-0.7.3+13+suse.db431514/kpartx/test-kpartx 
new/multipath-tools-0.7.3+30+suse.6b5ed839/kpartx/test-kpartx
--- old/multipath-tools-0.7.3+13+suse.db431514/kpartx/test-kpartx       
2017-10-24 22:17:28.000000000 +0200
+++ new/multipath-tools-0.7.3+30+suse.6b5ed839/kpartx/test-kpartx       
2018-01-19 19:08:38.000000000 +0100
@@ -131,7 +131,7 @@
 # They also serve as DM devices to test partition removal on those.
 
 TABLE="\
-0 $((SIZE/SECTSIZ-OFFS)) linear $DEV1 $OFFS
+0 $((SIZE/SECTSIZ-OFFS)) linear $DEV1 $OFFS 
 $((SIZE/SECTSIZ-OFFS)) $((SIZE/SECTSIZ-OFFS)) linear $DEV2 $OFFS"
 
 SPAN1=kpt
@@ -142,9 +142,17 @@
 dmsetup create $SPAN2 <<<"$TABLE"
 push_cleanup 'dmsetup remove -f $SPAN2'
 
+# This is a non-kpartx pseudo "partition" mapping
+USER1=user1
+push_cleanup 'dmsetup remove -f $USER1'
+dmsetup create $USER1 <<EOF
+0 $((SIZE/SECTSIZ-OFFS)) linear $DEV1 $OFFS
+EOF
+
 usleep $WAIT_US
 [[ -b /dev/mapper/$SPAN1 ]]
 [[ -b /dev/mapper/$SPAN2 ]]
+[[ -b /dev/mapper/$USER1 ]]
 
 step "create vg on $LO3"
 # On the 3rd loop device, we create a VG and an LV
@@ -290,6 +298,7 @@
 # spans should not have been removed
 [[ -b /dev/mapper/$SPAN1 ]]
 [[ -b /dev/mapper/$SPAN2 ]]
+[[ -b /dev/mapper/$USER1 ]]
 # LVs neither
 [[ -b /dev/mapper/$VG-$LV ]]
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/multipath-tools-0.7.3+13+suse.db431514/libmultipath/config.c 
new/multipath-tools-0.7.3+30+suse.6b5ed839/libmultipath/config.c
--- old/multipath-tools-0.7.3+13+suse.db431514/libmultipath/config.c    
2017-10-24 22:17:28.000000000 +0200
+++ new/multipath-tools-0.7.3+30+suse.6b5ed839/libmultipath/config.c    
2018-01-19 19:08:38.000000000 +0100
@@ -319,7 +319,7 @@
 static int
 merge_hwe (struct hwentry * dst, struct hwentry * src)
 {
-       char id[SCSI_VENDOR_SIZE+SCSI_PRODUCT_SIZE];
+       char id[SCSI_VENDOR_SIZE+PATH_PRODUCT_SIZE];
        merge_str(vendor);
        merge_str(product);
        merge_str(revision);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/multipath-tools-0.7.3+13+suse.db431514/libmultipath/discovery.c 
new/multipath-tools-0.7.3+30+suse.6b5ed839/libmultipath/discovery.c
--- old/multipath-tools-0.7.3+13+suse.db431514/libmultipath/discovery.c 
2017-10-24 22:17:28.000000000 +0200
+++ new/multipath-tools-0.7.3+30+suse.6b5ed839/libmultipath/discovery.c 
2018-01-19 19:08:38.000000000 +0100
@@ -276,7 +276,7 @@
        }
        *timeout = t;
 
-       return 0;
+       return 1;
 }
 
 int
@@ -837,7 +837,7 @@
 #define DEFAULT_SGIO_LEN 254
 
 static int
-sgio_get_vpd (unsigned char * buff, int maxlen, int fd)
+sgio_get_vpd (unsigned char * buff, int maxlen, int fd, int pg)
 {
        int len = DEFAULT_SGIO_LEN;
 
@@ -846,13 +846,13 @@
                return -1;
        }
 retry:
-       if (0 == do_inq(fd, 0, 1, 0x83, buff, len)) {
+       if (0 == do_inq(fd, 0, 1, pg, buff, len)) {
                len = buff[3] + (buff[2] << 8);
                if (len >= maxlen)
                        return len;
                if (len > DEFAULT_SGIO_LEN)
                        goto retry;
-               return 0;
+               return len;
        }
        return -1;
 }
@@ -1099,7 +1099,7 @@
        unsigned char buff[4096];
 
        memset(buff, 0x0, 4096);
-       if (sgio_get_vpd(buff, 4096, fd) <= 0) {
+       if (sgio_get_vpd(buff, 4096, fd, pg) <= 0) {
                condlog(3, "failed to issue vpd inquiry for pg%02x",
                        pg);
                return -errno;
@@ -1118,7 +1118,11 @@
                len = parse_vpd_pg80(buff, str, maxlen);
        else if (pg == 0x83)
                len = parse_vpd_pg83(buff, buff_len, str, maxlen);
-       else
+       else if (pg == 0xc9 && maxlen >= 8) {
+               len = buff_len < 8 ? -ENODATA :
+                       (buff_len <= maxlen ? buff_len : maxlen);
+               memcpy (str, buff, len);
+       } else
                len = -ENOSYS;
 
        return len;
@@ -1154,12 +1158,12 @@
 
        condlog(3, "%s: vendor = %s", pp->dev, pp->vendor_id);
 
-       if (sysfs_get_model(parent, pp->product_id, SCSI_PRODUCT_SIZE) <= 0)
+       if (sysfs_get_model(parent, pp->product_id, PATH_PRODUCT_SIZE) <= 0)
                return 1;
 
        condlog(3, "%s: product = %s", pp->dev, pp->product_id);
 
-       if (sysfs_get_rev(parent, pp->rev, SCSI_REV_SIZE) < 0)
+       if (sysfs_get_rev(parent, pp->rev, PATH_REV_SIZE) < 0)
                return 1;
 
        condlog(3, "%s: rev = %s", pp->dev, pp->rev);
@@ -1196,6 +1200,7 @@
 {
        struct udev_device *parent;
        const char *attr_path = NULL;
+       const char *attr;
 
        attr_path = udev_device_get_sysname(pp->udev);
        if (!attr_path)
@@ -1205,19 +1210,24 @@
                   &pp->sg_id.host_no,
                   &pp->sg_id.scsi_id) != 2)
                return 1;
-       pp->sg_id.channel = 0;
-       pp->sg_id.lun = 0;
 
-       parent = udev_device_get_parent(pp->udev);
+       parent = udev_device_get_parent_with_subsystem_devtype(pp->udev,
+                                                              "nvme", NULL);
        if (!parent)
                return 1;
 
+       attr = udev_device_get_sysattr_value(pp->udev, "nsid");
+       pp->sg_id.lun = attr ? atoi(attr) : 0;
+
+       attr = udev_device_get_sysattr_value(parent, "cntlid");
+       pp->sg_id.channel = attr ? atoi(attr) : 0;
+
        snprintf(pp->vendor_id, SCSI_VENDOR_SIZE, "NVME");
-       snprintf(pp->product_id, SCSI_PRODUCT_SIZE, "%s",
+       snprintf(pp->product_id, PATH_PRODUCT_SIZE, "%s",
                 udev_device_get_sysattr_value(parent, "model"));
        snprintf(pp->serial, SERIAL_SIZE, "%s",
                 udev_device_get_sysattr_value(parent, "serial"));
-       snprintf(pp->rev, SCSI_REV_SIZE, "%s",
+       snprintf(pp->rev, PATH_REV_SIZE, "%s",
                 udev_device_get_sysattr_value(parent, "firmware_rev"));
 
        condlog(3, "%s: vendor = %s", pp->dev, pp->vendor_id);
@@ -1332,12 +1342,12 @@
 
        condlog(3, "%s: vendor = %s", pp->dev, pp->vendor_id);
 
-       if (sysfs_get_model(parent, pp->product_id, SCSI_PRODUCT_SIZE) <= 0)
+       if (sysfs_get_model(parent, pp->product_id, PATH_PRODUCT_SIZE) <= 0)
                return 1;
 
        condlog(3, "%s: product = %s", pp->dev, pp->product_id);
 
-       if (sysfs_get_rev(parent, pp->rev, SCSI_REV_SIZE) <= 0)
+       if (sysfs_get_rev(parent, pp->rev, PATH_REV_SIZE) <= 0)
                return 1;
 
        condlog(3, "%s: rev = %s", pp->dev, pp->rev);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/multipath-tools-0.7.3+13+suse.db431514/libmultipath/dmparser.c 
new/multipath-tools-0.7.3+30+suse.6b5ed839/libmultipath/dmparser.c
--- old/multipath-tools-0.7.3+13+suse.db431514/libmultipath/dmparser.c  
2017-10-24 22:17:28.000000000 +0200
+++ new/multipath-tools-0.7.3+30+suse.6b5ed839/libmultipath/dmparser.c  
2018-01-19 19:08:38.000000000 +0100
@@ -122,7 +122,6 @@
                        APPEND(p, end, " %s %d", pp->dev_t, tmp_minio);
                }
        }
-       APPEND(p, end, "\n");
 
        FREE(f);
        condlog(3, "%s: assembled map [%s]", mp->alias, params);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/multipath-tools-0.7.3+13+suse.db431514/libmultipath/hwtable.c 
new/multipath-tools-0.7.3+30+suse.6b5ed839/libmultipath/hwtable.c
--- old/multipath-tools-0.7.3+13+suse.db431514/libmultipath/hwtable.c   
2017-10-24 22:17:28.000000000 +0200
+++ new/multipath-tools-0.7.3+30+suse.6b5ed839/libmultipath/hwtable.c   
2018-01-19 19:08:38.000000000 +0100
@@ -76,6 +76,20 @@
 #endif
 
 static struct hwentry default_hw[] = {
+       /*
+       * Generic NVMe devices
+       *
+       * Due to the parsing logic in find_hwe(), generic entries
+       * have to be put on top of this list, and more specific ones
+       * below.
+       */
+       {
+               .vendor        = "NVME",
+               .product       = ".*",
+               .uid_attribute = "ID_WWN",
+               .checker_name  = NONE,
+               .retain_hwhandler = RETAIN_HWHANDLER_OFF,
+       },
        /*
         * Apple
         *
@@ -666,6 +680,19 @@
                .no_path_retry = 24,
        },
        /*
+        * NetApp NVMe-FC namespace devices: MULTIBUS preferred
+        *
+        * The table is searched backwards, so place this after generic NVMe
+        */
+       {
+               .vendor        = "NVME",
+               .product       = "(NetApp |)ONTAP Controller",
+               .uid_attribute = "ID_WWN",
+               .checker_name  = NONE,
+               .pgpolicy      = MULTIBUS,
+               .retain_hwhandler = RETAIN_HWHANDLER_OFF,
+       },
+       /*
         * Nexenta
         *
         * Maintainer : Yacine Kheddache
@@ -1125,16 +1152,6 @@
                .no_path_retry = 30,
        },
        /*
-        * Generic NVMe devices
-        */
-       {
-               .vendor        = "NVME",
-               .product       = ".*",
-               .uid_attribute = "ID_WWN",
-               .checker_name  = NONE,
-               .retain_hwhandler = RETAIN_HWHANDLER_OFF,
-       },
-       /*
         * Dot Hill Systems - Seagate Technology
         */
        {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/multipath-tools-0.7.3+13+suse.db431514/libmultipath/propsel.c 
new/multipath-tools-0.7.3+30+suse.6b5ed839/libmultipath/propsel.c
--- old/multipath-tools-0.7.3+13+suse.db431514/libmultipath/propsel.c   
2017-10-24 22:17:28.000000000 +0200
+++ new/multipath-tools-0.7.3+30+suse.6b5ed839/libmultipath/propsel.c   
2018-01-19 19:08:38.000000000 +0100
@@ -512,7 +512,7 @@
 
        if (pp->tpgs <= 0)
                return;
-       if (pp->tpgs == 2 && !check_rdac(pp)) {
+       if (pp->tpgs == 2 || !check_rdac(pp)) {
                if (sysfs_get_asymmetric_access_state(pp, buff, 512) >= 0)
                        default_prio = PRIO_SYSFS;
        }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/multipath-tools-0.7.3+13+suse.db431514/libmultipath/structs.h 
new/multipath-tools-0.7.3+30+suse.6b5ed839/libmultipath/structs.h
--- old/multipath-tools-0.7.3+13+suse.db431514/libmultipath/structs.h   
2017-10-24 22:17:28.000000000 +0200
+++ new/multipath-tools-0.7.3+30+suse.6b5ed839/libmultipath/structs.h   
2018-01-19 19:08:38.000000000 +0100
@@ -25,6 +25,12 @@
 #define SCSI_PRODUCT_SIZE      17
 #define SCSI_REV_SIZE          5
 #define SCSI_STATE_SIZE                19
+#define NVME_MODEL_SIZE         41
+#define NVME_REV_SIZE           9
+
+/* This must be the maximum of SCSI and NVME sizes */
+#define PATH_PRODUCT_SIZE NVME_MODEL_SIZE
+#define PATH_REV_SIZE NVME_REV_SIZE
 
 #define NO_PATH_RETRY_UNDEF    0
 #define NO_PATH_RETRY_FAIL     -1
@@ -210,8 +216,8 @@
        struct hd_geometry geom;
        char wwid[WWID_SIZE];
        char vendor_id[SCSI_VENDOR_SIZE];
-       char product_id[SCSI_PRODUCT_SIZE];
-       char rev[SCSI_REV_SIZE];
+       char product_id[PATH_PRODUCT_SIZE];
+       char rev[PATH_REV_SIZE];
        char serial[SERIAL_SIZE];
        char tgt_node_name[NODE_NAME_SIZE];
        unsigned long long size;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/multipath-tools-0.7.3+13+suse.db431514/multipath/11-dm-mpath.rules 
new/multipath-tools-0.7.3+30+suse.6b5ed839/multipath/11-dm-mpath.rules
--- old/multipath-tools-0.7.3+13+suse.db431514/multipath/11-dm-mpath.rules      
2017-10-24 22:17:28.000000000 +0200
+++ new/multipath-tools-0.7.3+30+suse.6b5ed839/multipath/11-dm-mpath.rules      
2018-01-19 19:08:38.000000000 +0100
@@ -100,7 +100,8 @@
 TEST=="/usr/lib/udev/kpartx_id", \
        IMPORT{program}=="kpartx_id %M %m $env{DM_UUID}"
 
-ENV{DM_TYPE}=="?*", SYMLINK+="disk/by-id/$env{DM_TYPE}-$env{DM_NAME}"
+ENV{DM_TYPE}=="?*", ENV{DM_SERIAL}=="?*", \
+       SYMLINK+="disk/by-id/$env{DM_TYPE}-$env{DM_SERIAL}"
 ENV{DM_WWN}=="?*", SYMLINK+="disk/by-id/wwn-$env{DM_WWN}"
 
 LABEL="mpath_end"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/multipath-tools-0.7.3+13+suse.db431514/multipath/main.c 
new/multipath-tools-0.7.3+30+suse.6b5ed839/multipath/main.c
--- old/multipath-tools-0.7.3+13+suse.db431514/multipath/main.c 2017-10-24 
22:17:28.000000000 +0200
+++ new/multipath-tools-0.7.3+30+suse.6b5ed839/multipath/main.c 2018-01-19 
19:08:38.000000000 +0100
@@ -325,7 +325,8 @@
                }
        }
 found:
-       condlog(2, "%s:%s usable paths found", devpath, r == 0 ? "" : " no");
+       condlog(r == 0 ? 3 : 2, "%s:%s usable paths found",
+               devpath, r == 0 ? "" : " no");
 free:
        FREE(mapname);
        free_multipath(mpp, FREE_PATHS);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/multipath-tools-0.7.3+13+suse.db431514/multipath/multipath.rules 
new/multipath-tools-0.7.3+30+suse.6b5ed839/multipath/multipath.rules
--- old/multipath-tools-0.7.3+13+suse.db431514/multipath/multipath.rules        
2017-10-24 22:17:28.000000000 +0200
+++ new/multipath-tools-0.7.3+30+suse.6b5ed839/multipath/multipath.rules        
2018-01-19 19:08:38.000000000 +0100
@@ -1,7 +1,7 @@
 # Set DM_MULTIPATH_DEVICE_PATH if the device should be handled by multipath
 SUBSYSTEM!="block", GOTO="end_mpath"
 ACTION!="add|change", GOTO="end_mpath"
-KERNEL!="sd*|dasd*", GOTO="end_mpath"
+KERNEL!="sd*|dasd*|nvme*", GOTO="end_mpath"
 
 IMPORT{cmdline}="nompath"
 ENV{nompath}=="?*", GOTO="end_mpath"
@@ -16,6 +16,11 @@
 
 LABEL="test_dev"
 
+# The following rule is a temporary workaround for the fact that NVMe related 
rules
+# are called in 60-persistent-storage.rules, after this file is processed.
+KERNEL=="nvme*[0-9]n*[0-9]", ENV{ID_WWN}=="", ENV{DEVTYPE}=="disk", \
+       ATTRS{wwid}=="?*", ENV{ID_WWN}="$attr{wwid}"
+
 ENV{MPATH_SBIN_PATH}="/sbin"
 TEST!="$env{MPATH_SBIN_PATH}/multipath", ENV{MPATH_SBIN_PATH}="/usr/sbin"
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/multipath-tools-0.7.3+13+suse.db431514/multipathd/multipathd.service 
new/multipath-tools-0.7.3+30+suse.6b5ed839/multipathd/multipathd.service
--- old/multipath-tools-0.7.3+13+suse.db431514/multipathd/multipathd.service    
2017-10-24 22:17:28.000000000 +0200
+++ new/multipath-tools-0.7.3+30+suse.6b5ed839/multipathd/multipathd.service    
2018-01-19 19:08:38.000000000 +0100
@@ -1,7 +1,7 @@
 [Unit]
 Description=Device-Mapper Multipath Device Controller
 Wants=systemd-udev-trigger.service systemd-udev-settle.service
-Before=iscsi.service iscsid.service lvm2-lvmetad.service 
lvm2-activation-early.service
+Before=iscsi.service iscsid.service lvm2-activation-early.service
 Before=local-fs-pre.target blk-availability.service
 After=multipathd.socket systemd-udev-trigger.service 
systemd-udev-settle.service
 DefaultDependencies=no
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/multipath-tools-0.7.3+13+suse.db431514/multipathd/multipathd.socket 
new/multipath-tools-0.7.3+30+suse.6b5ed839/multipathd/multipathd.socket
--- old/multipath-tools-0.7.3+13+suse.db431514/multipathd/multipathd.socket     
2017-10-24 22:17:28.000000000 +0200
+++ new/multipath-tools-0.7.3+30+suse.6b5ed839/multipathd/multipathd.socket     
2018-01-19 19:08:38.000000000 +0100
@@ -5,3 +5,6 @@
 
 [Socket]
 ListenStream=@/org/kernel/linux/storage/multipathd
+
+[Install]
+WantedBy=sockets.target


Reply via email to