Hello community,

here is the log from the commit of package dracut for openSUSE:Factory checked 
in at 2020-10-15 13:48:02
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/dracut (Old)
 and      /work/SRC/openSUSE:Factory/.dracut.new.3486 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "dracut"

Thu Oct 15 13:48:02 2020 rev:167 rq:841563 version:050+suse.250.ge6b6e843

Changes:
--------
--- /work/SRC/openSUSE:Factory/dracut/dracut.changes    2020-09-28 
12:02:49.498757370 +0200
+++ /work/SRC/openSUSE:Factory/.dracut.new.3486/dracut.changes  2020-10-15 
13:48:22.929248719 +0200
@@ -1,0 +2,32 @@
+Tue Oct 13 14:09:17 UTC 2020 - [email protected]
+
+- Update to version 050+suse.250.ge6b6e843:
+  * Revert "Revert "install: also install post weak dependencies of kernel 
modules""
+  * 98dracut-systemd: don't wait for root device if remote cryptsetup active
+  * cryptroot-ask: unify /etc/crypttab and rd.luks.key
+  * 90kernel-modules: arm: add drivers/hwmon for arm/arm64
+  * rootfs-block: only write root argument for block device
+  * 90crypt: pull in remote-cryptsetup.target enablement
+  * 00systemd: add missing cryptsetup-related targets
+  * 95nvmf: Implement 'fc,auto' commandline syntax
+  * 95nvmf: add nvmf-autoconnect script
+  * 95nvmf: Fixup FC connections
+  * 95nvmf: add documentation
+  * 95nvmf: rework parameter handling
+  * dracut-install: fix edge-case regression with weak modules
+  * dracut-install: ignore bogus preload libs
+  * dracut.spec: Use make macros
+  * dracut.spec: remove fedora pre 30 quirks
+  * 50drm: Check drm_encoder_init along drm_crtc_init
+  * 50drm: Include drm platform drivers in hostonly
+  * 50drm: fix ambiguous redirects
+  * Include devfreq drivers in initrd
+  * dracut.spec: include the 04watchdog-modules module
+
+-------------------------------------------------------------------
+Mon Oct 12 11:59:19 UTC 2020 - [email protected]
+
+- Update to version 050+suse.228.gd0d6792d:
+  * 99memstrack: use /bin/bash
+
+-------------------------------------------------------------------

Old:
----
  dracut-050+suse.227.g7a9b782d.obscpio

New:
----
  dracut-050+suse.250.ge6b6e843.obscpio

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

Other differences:
------------------
++++++ dracut.spec ++++++
--- /var/tmp/diff_new_pack.ysFPuC/_old  2020-10-15 13:48:25.117249634 +0200
+++ /var/tmp/diff_new_pack.ysFPuC/_new  2020-10-15 13:48:25.121249636 +0200
@@ -19,7 +19,7 @@
 %define dracutlibdir %{_prefix}/lib/dracut
 
 Name:           dracut
-Version:        050+suse.227.g7a9b782d
+Version:        050+suse.250.ge6b6e843
 Release:        0
 Summary:        Initramfs generator using udev
 License:        GPL-2.0-or-later AND LGPL-2.1-or-later

++++++ _servicedata ++++++
--- /var/tmp/diff_new_pack.ysFPuC/_old  2020-10-15 13:48:25.177249660 +0200
+++ /var/tmp/diff_new_pack.ysFPuC/_new  2020-10-15 13:48:25.177249660 +0200
@@ -1,4 +1,4 @@
 <servicedata>
 <service name="tar_scm">
                 <param 
name="url">https://github.com/opensuse/dracut.git</param>
-              <param 
name="changesrevision">7a9b782d2002da2b2c0a9611e3400d2a51bbe069</param></service></servicedata>
\ No newline at end of file
+              <param 
name="changesrevision">e6b6e84384ac9f7afbfcf87fd8c6f43b1739d4d9</param></service></servicedata>
\ No newline at end of file

++++++ dracut-050+suse.227.g7a9b782d.obscpio -> 
dracut-050+suse.250.ge6b6e843.obscpio ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/dracut-050+suse.227.g7a9b782d/dracut.cmdline.7.asc 
new/dracut-050+suse.250.ge6b6e843/dracut.cmdline.7.asc
--- old/dracut-050+suse.227.g7a9b782d/dracut.cmdline.7.asc      2020-09-28 
11:50:08.000000000 +0200
+++ new/dracut-050+suse.250.ge6b6e843/dracut.cmdline.7.asc      2020-10-13 
16:08:01.000000000 +0200
@@ -861,6 +861,23 @@
 +
 NOTE: letters in the MAC-address must be lowercase!
 
+NVMf
+~~~~
+**rd.nvmf.hostnqn=**__<hostNQN>__::
+    NVMe host NQN to use
+
+**rd.nvmf.hostid=**__<hostID>__::
+    NVMe host id to use
+
+**rd.nvmf.discover=**__{rdma|fc|tcp}__,__<traddr>__,[__<host_traddr>__],[__<trsvcid>__]::
+    Discover and connect to a NVMe-over-Fabric controller specified by
+    _<traddr>_ and the optionally _<host_traddr>_ or _<trsvcid>_.
+    The first argument specifies the transport to use; currently only
+    'rdma', 'fc', or 'tcp' are supported.
+    The _<traddr>_ parameter can be set to 'auto' to select
+    autodiscovery; in that case all other parameters are ignored.
+    This parameter can be specified multiple times.
+
 NBD
 ~~~
 **root=**??? 
**netroot=**nbd:__<server>__:__<port/exportname>__[:__<fstype>__[:__<mountopts>__[:__<nbdopts>__]]]::
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/dracut-050+suse.227.g7a9b782d/dracut.spec 
new/dracut-050+suse.250.ge6b6e843/dracut.spec
--- old/dracut-050+suse.227.g7a9b782d/dracut.spec       2020-09-28 
11:50:08.000000000 +0200
+++ new/dracut-050+suse.250.ge6b6e843/dracut.spec       2020-10-13 
16:08:01.000000000 +0200
@@ -203,11 +203,10 @@
 %endif
             ${NULL}
 
-make %{?_smp_mflags}
+%make_build
 
 %install
-make %{?_smp_mflags} install \
-     DESTDIR=$RPM_BUILD_ROOT \
+%make_install %{?_smp_mflags} \
      libdir=%{_prefix}/lib
 
 echo "DRACUT_VERSION=%{version}-%{release}" > 
$RPM_BUILD_ROOT/%{dracutlibdir}/dracut-version.sh
@@ -279,7 +278,7 @@
 echo 'hostonly="no"' > 
$RPM_BUILD_ROOT%{dracutlibdir}/dracut.conf.d/02-generic-image.conf
 echo 'dracut_rescue_image="yes"' > 
$RPM_BUILD_ROOT%{dracutlibdir}/dracut.conf.d/02-rescue.conf
 
-%if 0%{?fedora} <= 30 || 0%{?rhel} <= 8
+%if 0%{?rhel} > 0 && 0%{?rhel} <= 8
 mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/kernel/postinst.d
 install -m 0755 51-dracut-rescue-postinst.sh 
$RPM_BUILD_ROOT%{_sysconfdir}/kernel/postinst.d/51-dracut-rescue-postinst.sh
 %endif
@@ -348,6 +347,7 @@
 %{dracutlibdir}/modules.d/03modsign
 %{dracutlibdir}/modules.d/03rescue
 %{dracutlibdir}/modules.d/04watchdog
+%{dracutlibdir}/modules.d/04watchdog-modules
 %{dracutlibdir}/modules.d/05busybox
 %{dracutlibdir}/modules.d/06rngd
 %{dracutlibdir}/modules.d/10i18n
@@ -477,8 +477,7 @@
 %files config-rescue
 %{dracutlibdir}/dracut.conf.d/02-rescue.conf
 %{_prefix}/lib/kernel/install.d/51-dracut-rescue.install
-%if 0%{?fedora} <= 30 || 0%{?rhel} <= 8
-# FIXME: remove after F30
+%if 0%{?rhel} > 0 && 0%{?rhel} <= 8
 %{_sysconfdir}/kernel/postinst.d/51-dracut-rescue-postinst.sh
 %endif
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/dracut-050+suse.227.g7a9b782d/install/dracut-install.c 
new/dracut-050+suse.250.ge6b6e843/install/dracut-install.c
--- old/dracut-050+suse.227.g7a9b782d/install/dracut-install.c  2020-09-28 
11:50:08.000000000 +0200
+++ new/dracut-050+suse.250.ge6b6e843/install/dracut-install.c  2020-10-13 
16:08:01.000000000 +0200
@@ -570,6 +570,9 @@
                 if (strstr(buf, "cannot read header"))
                         break;
 
+                if (strstr(buf, "cannot be preloaded"))
+                        break;
+
                 if (strstr(buf, destrootdir))
                         break;
 
@@ -808,123 +811,123 @@
                         log_debug("'%s' already exists", fulldstpath);
 
                 /* dst does already exist */
-                return ret;
-        }
+        } else {
 
-        /* check destination directory */
-        fulldstdir = strdup(fulldstpath);
-        if (!fulldstdir) {
-                log_error("Out of memory!");
-                return 1;
-        }
-        fulldstdir[dir_len(fulldstdir)] = '\0';
+                /* check destination directory */
+                fulldstdir = strdup(fulldstpath);
+                if (!fulldstdir) {
+                        log_error("Out of memory!");
+                        return 1;
+                }
+                fulldstdir[dir_len(fulldstdir)] = '\0';
 
-        ret = stat(fulldstdir, &db);
+                ret = stat(fulldstdir, &db);
 
-        if (ret < 0) {
-                _cleanup_free_ char *dname = NULL;
+                if (ret < 0) {
+                        _cleanup_free_ char *dname = NULL;
 
-                if (errno != ENOENT) {
-                        log_error("ERROR: stat '%s': %m", fulldstdir);
-                        return 1;
-                }
-                /* create destination directory */
-                log_debug("dest dir '%s' does not exist", fulldstdir);
-                dname = strdup(dst);
-                if (!dname)
-                        return 1;
+                        if (errno != ENOENT) {
+                                log_error("ERROR: stat '%s': %m", fulldstdir);
+                                return 1;
+                        }
+                        /* create destination directory */
+                        log_debug("dest dir '%s' does not exist", fulldstdir);
+                        dname = strdup(dst);
+                        if (!dname)
+                                return 1;
 
-                dname[dir_len(dname)] = '\0';
-                ret = dracut_install(dname, dname, true, false, true);
+                        dname[dir_len(dname)] = '\0';
+                        ret = dracut_install(dname, dname, true, false, true);
 
-                if (ret != 0) {
-                        log_error("ERROR: failed to create directory '%s'", 
fulldstdir);
-                        return 1;
+                        if (ret != 0) {
+                                log_error("ERROR: failed to create directory 
'%s'", fulldstdir);
+                                return 1;
+                        }
                 }
-        }
 
-        if (src_isdir) {
-                if (dst_exists) {
-                        if (S_ISDIR(sb.st_mode)) {
-                                log_debug("dest dir '%s' already exists", 
fulldstpath);
-                                return 0;
+                if (src_isdir) {
+                        if (dst_exists) {
+                                if (S_ISDIR(sb.st_mode)) {
+                                        log_debug("dest dir '%s' already 
exists", fulldstpath);
+                                        return 0;
+                                }
+                                log_error("dest dir '%s' already exists but is 
not a directory", fulldstpath);
+                                return 1;
                         }
-                        log_error("dest dir '%s' already exists but is not a 
directory", fulldstpath);
-                        return 1;
-                }
 
-                log_info("mkdir '%s'", fulldstpath);
-                ret = dracut_mkdir(fulldstpath);
-                if (ret == 0) {
-                        i = strdup(dst);
-                        if (!i)
-                                return -ENOMEM;
+                        log_info("mkdir '%s'", fulldstpath);
+                        ret = dracut_mkdir(fulldstpath);
+                        if (ret == 0) {
+                                i = strdup(dst);
+                                if (!i)
+                                        return -ENOMEM;
 
-                        hashmap_put(items, i, i);
+                                hashmap_put(items, i, i);
+                        }
+                        return ret;
                 }
-                return ret;
-        }
 
-        /* ready to install src */
+                /* ready to install src */
 
-        if (src_islink) {
-                _cleanup_free_ char *abspath = NULL;
+                if (src_islink) {
+                        _cleanup_free_ char *abspath = NULL;
 
-                abspath = get_real_file(src, false);
+                        abspath = get_real_file(src, false);
 
-                if (abspath == NULL)
-                        return 1;
+                        if (abspath == NULL)
+                                return 1;
 
-                if (dracut_install(abspath, abspath, false, resolvedeps, 
hashdst)) {
-                        log_debug("'%s' install error", abspath);
-                        return 1;
-                }
+                        if (dracut_install(abspath, abspath, false, 
resolvedeps, hashdst)) {
+                                log_debug("'%s' install error", abspath);
+                                return 1;
+                        }
 
-                if (lstat(abspath, &sb) != 0) {
-                        log_debug("lstat '%s': %m", abspath);
-                        return 1;
-                }
+                        if (lstat(abspath, &sb) != 0) {
+                                log_debug("lstat '%s': %m", abspath);
+                                return 1;
+                        }
 
-                if (lstat(fulldstpath, &sb) != 0) {
-                        _cleanup_free_ char *absdestpath = NULL;
+                        if (lstat(fulldstpath, &sb) != 0) {
+                                _cleanup_free_ char *absdestpath = NULL;
 
-                        ret = asprintf(&absdestpath, "%s/%s", destrootdir, 
(abspath[0]=='/' ? (abspath+1) : abspath) + sysrootdirlen);
-                        if (ret < 0) {
-                                log_error("Out of memory!");
-                                exit(EXIT_FAILURE);
+                                ret = asprintf(&absdestpath, "%s/%s", 
destrootdir, (abspath[0]=='/' ? (abspath+1) : abspath) + sysrootdirlen);
+                                if (ret < 0) {
+                                        log_error("Out of memory!");
+                                        exit(EXIT_FAILURE);
+                                }
+
+                                ln_r(absdestpath, fulldstpath);
                         }
 
-                        ln_r(absdestpath, fulldstpath);
-                }
+                        if (arg_hmac) {
+                                /* copy .hmac files also */
+                                hmac_install(src, dst, NULL);
+                        }
 
-                if (arg_hmac) {
-                        /* copy .hmac files also */
-                        hmac_install(src, dst, NULL);
+                        return 0;
                 }
 
-                return 0;
-        }
-
-        if (src_mode & (S_IXUSR | S_IXGRP | S_IXOTH)) {
-                if (resolvedeps)
-                        ret += resolve_deps(fullsrcpath + sysrootdirlen);
-                if (arg_hmac) {
-                        /* copy .hmac files also */
-                        hmac_install(src, dst, NULL);
+                if (src_mode & (S_IXUSR | S_IXGRP | S_IXOTH)) {
+                        if (resolvedeps)
+                                ret += resolve_deps(fullsrcpath + 
sysrootdirlen);
+                        if (arg_hmac) {
+                                /* copy .hmac files also */
+                                hmac_install(src, dst, NULL);
+                        }
                 }
-        }
 
-        log_debug("dracut_install ret = %d", ret);
+                log_debug("dracut_install ret = %d", ret);
 
-        if (arg_hostonly && !arg_module)
-                mark_hostonly(dst);
+                if (arg_hostonly && !arg_module)
+                        mark_hostonly(dst);
 
-        if (isdir) {
-                log_info("mkdir '%s'", fulldstpath);
-                ret += dracut_mkdir(fulldstpath);
-        } else {
-                log_info("cp '%s' '%s'", fullsrcpath, fulldstpath);
-                ret += cp(fullsrcpath, fulldstpath);
+                if (isdir) {
+                        log_info("mkdir '%s'", fulldstpath);
+                        ret += dracut_mkdir(fulldstpath);
+                } else {
+                        log_info("cp '%s' '%s'", fullsrcpath, fulldstpath);
+                        ret += cp(fullsrcpath, fulldstpath);
+                }
         }
 
         if (ret == 0) {
@@ -1523,9 +1526,13 @@
                        ret = install_dependent_modules(modlist);
                        if (ret == 0) {
                                ret = kmod_module_get_softdeps(mod, &modpre, 
&modpost);
-                               if (ret == 0)
-                                       ret = install_dependent_modules(modpre);
-                       }
+                                if (ret == 0) {                        
+                                        int r;
+                                        ret = 
install_dependent_modules(modpre);    
+                                        r = install_dependent_modules(modpost);
+                                        ret = ret ? : r;
+                                }
+                        }
                 } else {
                         log_error("dracut_install '%s' '%s' ERROR", path, 
&path[kerneldirlen]);
                 }
@@ -1592,8 +1599,12 @@
 
         if (ret == 0) {
                 ret = kmod_module_get_softdeps(mod, &modpre, &modpost);
-                if (ret == 0)
-                        ret = install_dependent_modules(modpre);
+                if (ret == 0) {                        
+                        int r;
+                        ret = install_dependent_modules(modpre);    
+                        r = install_dependent_modules(modpost);
+                        ret = ret ? : r;
+                }
         }
 
         return ret;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/dracut-050+suse.227.g7a9b782d/modules.d/00systemd/module-setup.sh 
new/dracut-050+suse.250.ge6b6e843/modules.d/00systemd/module-setup.sh
--- old/dracut-050+suse.227.g7a9b782d/modules.d/00systemd/module-setup.sh       
2020-09-28 11:50:08.000000000 +0200
+++ new/dracut-050+suse.250.ge6b6e843/modules.d/00systemd/module-setup.sh       
2020-10-13 16:08:01.000000000 +0200
@@ -65,6 +65,8 @@
         $systemdutildir/system-generators/systemd-gpt-auto-generator \
         \
         $systemdsystemunitdir/cryptsetup.target \
+        $systemdsystemunitdir/cryptsetup-pre.target \
+        $systemdsystemunitdir/remote-cryptsetup.target \
         $systemdsystemunitdir/emergency.target \
         $systemdsystemunitdir/sysinit.target \
         $systemdsystemunitdir/basic.target \
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/dracut-050+suse.227.g7a9b782d/modules.d/50drm/module-setup.sh 
new/dracut-050+suse.250.ge6b6e843/modules.d/50drm/module-setup.sh
--- old/dracut-050+suse.227.g7a9b782d/modules.d/50drm/module-setup.sh   
2020-09-28 11:50:08.000000000 +0200
+++ new/dracut-050+suse.250.ge6b6e843/modules.d/50drm/module-setup.sh   
2020-10-13 16:08:01.000000000 +0200
@@ -31,15 +31,15 @@
     # as we could e.g. be in the installer; nokmsboot boot parameter will 
disable
     # loading of the driver if needed
     if [[ $hostonly ]]; then
-        for i in 
/sys/bus/{pci/devices,virtio/devices,soc/devices/soc?}/*/modalias; do
+        for i in 
/sys/bus/{pci/devices,platform/devices,virtio/devices,soc/devices/soc?}/*/modalias;
 do
             [[ -e $i ]] || continue
-            if hostonly="" dracut_instmods --silent -s 
"drm_crtc_init|drm_dev_register" -S "iw_handler_get_spy" $(<$i); then
-                if strstr "$(modinfo -F filename $(<$i) 2>/dev/null)" 
radeon.ko; then
+            if hostonly="" dracut_instmods --silent -s 
"drm_crtc_init|drm_dev_register|drm_encoder_init" -S "iw_handler_get_spy" 
$(<"$i"); then
+                if strstr "$(modinfo -F filename $(<"$i") 2>/dev/null)" 
radeon.ko; then
                     hostonly='' instmods amdkfd
                 fi
             fi
         done
     else
-        dracut_instmods -o -s "drm_crtc_init|drm_dev_register" 
"=drivers/gpu/drm" "=drivers/staging"
+        dracut_instmods -o -s 
"drm_crtc_init|drm_dev_register|drm_encoder_init" "=drivers/gpu/drm" 
"=drivers/staging"
     fi
 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/dracut-050+suse.227.g7a9b782d/modules.d/90crypt/cryptroot-ask.sh 
new/dracut-050+suse.250.ge6b6e843/modules.d/90crypt/cryptroot-ask.sh
--- old/dracut-050+suse.227.g7a9b782d/modules.d/90crypt/cryptroot-ask.sh        
2020-09-28 11:50:08.000000000 +0200
+++ new/dracut-050+suse.250.ge6b6e843/modules.d/90crypt/cryptroot-ask.sh        
2020-10-13 16:08:01.000000000 +0200
@@ -137,7 +137,8 @@
 ask_passphrase=1
 
 if [ -n "$luksfile" -a "$luksfile" != "none" -a -e "$luksfile" ]; then
-    if cryptsetup --key-file "$luksfile" $cryptsetupopts luksOpen "$device" 
"$luksname"; then
+    if readkey "$luksfile" / "$device" \
+        | cryptsetup -d - $cryptsetupopts luksOpen "$device" "$luksname"; then
         ask_passphrase=0
     fi
 elif [ "$is_keysource" -ne 0 ]; then
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/dracut-050+suse.227.g7a9b782d/modules.d/90crypt/module-setup.sh 
new/dracut-050+suse.250.ge6b6e843/modules.d/90crypt/module-setup.sh
--- old/dracut-050+suse.227.g7a9b782d/modules.d/90crypt/module-setup.sh 
2020-09-28 11:50:08.000000000 +0200
+++ new/dracut-050+suse.250.ge6b6e843/modules.d/90crypt/module-setup.sh 
2020-10-13 16:08:01.000000000 +0200
@@ -151,6 +151,7 @@
                       
$systemdsystemunitdir/systemd-ask-password-console.service \
                       $systemdsystemunitdir/cryptsetup.target \
                       
$systemdsystemunitdir/sysinit.target.wants/cryptsetup.target \
+                      
$systemdsystemunitdir/initrd-root-fs.target.wants/remote-cryptsetup.target \
                       systemd-ask-password systemd-tty-ask-password-agent
     fi
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/dracut-050+suse.227.g7a9b782d/modules.d/90kernel-modules/module-setup.sh 
new/dracut-050+suse.250.ge6b6e843/modules.d/90kernel-modules/module-setup.sh
--- 
old/dracut-050+suse.227.g7a9b782d/modules.d/90kernel-modules/module-setup.sh    
    2020-09-28 11:50:08.000000000 +0200
+++ 
new/dracut-050+suse.250.ge6b6e843/modules.d/90kernel-modules/module-setup.sh    
    2020-10-13 16:08:01.000000000 +0200
@@ -65,9 +65,11 @@
             _blockfuncs+='|dw_mc_probe|dw_mci_pltfm_register'
             instmods \
                 "=drivers/clk" \
+                "=drivers/devfreq" \
                 "=drivers/dma" \
                 "=drivers/extcon" \
                 "=drivers/gpio" \
+                "=drivers/hwmon" \
                 "=drivers/hwspinlock" \
                 "=drivers/i2c/busses" \
                 "=drivers/mfd" \
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/dracut-050+suse.227.g7a9b782d/modules.d/95nvmf/95-nvmf-initqueue.rules 
new/dracut-050+suse.250.ge6b6e843/modules.d/95nvmf/95-nvmf-initqueue.rules
--- old/dracut-050+suse.227.g7a9b782d/modules.d/95nvmf/95-nvmf-initqueue.rules  
1970-01-01 01:00:00.000000000 +0100
+++ new/dracut-050+suse.250.ge6b6e843/modules.d/95nvmf/95-nvmf-initqueue.rules  
2020-10-13 16:08:01.000000000 +0200
@@ -0,0 +1,10 @@
+#
+# nvmf-initqueue.rules
+#
+# D-Bus doesn't run in the initrd, which means that we cannot use our
+# usual trick of starting custom systemd services.
+# So use a rule to create initqueue entries instead.
+
+ACTION=="change", SUBSYSTEM=="fc", ENV{FC_EVENT}=="nvmediscovery", \
+      ENV{NVMEFC_HOST_TRADDR}=="*", ENV{NVMEFC_TRADDR}=="*", \
+      RUN+="/sbin/initqueue --onetime --unique --name 
nvmf-connect-$env{NVMEFC_TRADDR}-$env{NVMEFC_HOST_TRADDR} /usr/sbin/nvme 
connect-all --transport=fc --traddr=$env{NVMEFC_TRADDR} 
--host-traddr=$env{NVMEFC_HOST_TRADDR}"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/dracut-050+suse.227.g7a9b782d/modules.d/95nvmf/module-setup.sh 
new/dracut-050+suse.250.ge6b6e843/modules.d/95nvmf/module-setup.sh
--- old/dracut-050+suse.227.g7a9b782d/modules.d/95nvmf/module-setup.sh  
2020-09-28 11:50:08.000000000 +0200
+++ new/dracut-050+suse.250.ge6b6e843/modules.d/95nvmf/module-setup.sh  
2020-10-13 16:08:01.000000000 +0200
@@ -57,6 +57,31 @@
 cmdline() {
     local _hostnqn
     local _hostid
+
+    gen_nvmf_cmdline() {
+        local _dev=$1
+        local trtype
+
+        [[ -L "/sys/dev/block/$_dev" ]] || return 0
+        cd -P "/sys/dev/block/$_dev" || return 0
+        if [ -f partition ] ; then
+            cd ..
+        fi
+        for d in device/nvme* ; do
+            [ -L "$d" ] || continue
+            if readlink "$d" | grep -q nvme-fabrics ; then
+                trtype=$(cat "$d"/transport)
+                break
+            fi
+        done
+
+        [ -z "$trtype" ] && return 0
+        nvme list-subsys ${PWD##*/} | while read x dev trtype traddr 
host_traddr state ana; do
+            [ "$trtype" != "${trtype#NQN}" ] && continue
+            echo -n " 
nvmf.discover=$trtype,${traddr#traddr=},${host_traddr#host_traddr=}"
+        done
+    }
+
     if [ -f /etc/nvme/hostnqn ] ; then
         _hostnqn=$(cat /etc/nvme/hostnqn)
         echo -n " nvmf.hostnqn=${_hostnqn}"
@@ -65,7 +90,12 @@
         _hostid=$(cat /etc/nvme/hostid)
         echo -n " nvmf.hostid=${_hostid}"
     fi
-    echo ""
+
+    [[ $hostonly ]] || [[ $mount_needs ]] && {
+        pushd . >/dev/null
+        for_each_host_dev_and_slaves gen_nvmf_cmdline
+        popd >/dev/null
+    }
 }
 
 # called by dracut
@@ -79,13 +109,12 @@
 
     inst_multiple ip sed
 
+    inst_script "${moddir}/nvmf-autoconnect.sh" /sbin/nvmf-autoconnect.sh
+
     inst_multiple nvme
-    inst_multiple -o \
-        "$systemdsystemunitdir/nvm*[email protected]" \
-        "$systemdsystemunitdir/nvm*-connect.target"
     inst_hook cmdline 99 "$moddir/parse-nvmf-boot-connections.sh"
     inst_simple "/etc/nvme/discovery.conf"
-    inst_rules /usr/lib/udev/rules.d/70-nvm*-autoconnect.rules
     inst_rules /usr/lib/udev/rules.d/71-nvmf-iopolicy-netapp.rules
+    inst_rules "$moddir/95-nvmf-initqueue.rules"
     dracut_need_initqueue
 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/dracut-050+suse.227.g7a9b782d/modules.d/95nvmf/nvmf-autoconnect.sh 
new/dracut-050+suse.250.ge6b6e843/modules.d/95nvmf/nvmf-autoconnect.sh
--- old/dracut-050+suse.227.g7a9b782d/modules.d/95nvmf/nvmf-autoconnect.sh      
1970-01-01 01:00:00.000000000 +0100
+++ new/dracut-050+suse.250.ge6b6e843/modules.d/95nvmf/nvmf-autoconnect.sh      
2020-10-13 16:08:01.000000000 +0200
@@ -0,0 +1,5 @@
+#!/bin/bash
+
+[ -f /sys/class/fc/fc_udev_device/nvme_discovery ] || exit 1
+echo add > /sys/class/fc/fc_udev_device/nvme_discovery
+exit 0
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/dracut-050+suse.227.g7a9b782d/modules.d/95nvmf/parse-nvmf-boot-connections.sh
 
new/dracut-050+suse.250.ge6b6e843/modules.d/95nvmf/parse-nvmf-boot-connections.sh
--- 
old/dracut-050+suse.227.g7a9b782d/modules.d/95nvmf/parse-nvmf-boot-connections.sh
   2020-09-28 11:50:08.000000000 +0200
+++ 
new/dracut-050+suse.250.ge6b6e843/modules.d/95nvmf/parse-nvmf-boot-connections.sh
   2020-10-13 16:08:01.000000000 +0200
@@ -3,14 +3,15 @@
 # Supported formats:
 # nvmf.hostnqn=<hostnqn>
 # nvmf.hostid=<hostid>
-# nvmf.discover=<transport>:<traddr>:<host-traddr>:<trsvcid>
+# nvmf.discover=<transport>,<traddr>,<host-traddr>,<trsvcid>
 #
 # Examples:
 # 
nvmf.hostnqn=nqn.2014-08.org.nvmexpress:uuid:37303738-3034-584d-5137-333230423843
-# nvmf.discover=rdma:192.168.1.3::4420
-# nvmf.discover=tcp:192.168.1.3::4420
-# nvmf.discover=tcp:192.168.1.3
-# nvmf.discover=fc:auto
+# nvmf.discover=rdma,192.168.1.3,,4420
+# nvmf.discover=tcp,192.168.1.3,,4420
+# nvmf.discover=tcp,192.168.1.3
+# 
nvmf.discover=fc,nn-0x200400a098d85236:pn-0x201400a098d85236,nn-0x200000109b7db455:pn-0x100000109b7db455
+# nvmf.discover=fc,auto
 #
 # Note: FC does autodiscovery, so typically there is no need to
 # specify any discover parameters for FC.
@@ -25,11 +26,6 @@
 
 initqueue --onetime modprobe --all -b -q nvme nvme_tcp nvme_core nvme_fabrics
 
-traddr="none"
-trtype="none"
-hosttraddr="none"
-trsvcid=4420
-
 validate_ip_conn() {
     if ! getargbool 0 rd.neednet ; then
         warn "$trtype transport requires rd.neednet=1"
@@ -59,8 +55,12 @@
 }
 
 parse_nvmf_discover() {
+    traddr="none"
+    trtype="none"
+    hosttraddr="none"
+    trsvcid=4420
     OLDIFS="$IFS"
-    IFS=:
+    IFS=,
     set $1
     IFS="$OLDIFS"
 
@@ -82,26 +82,35 @@
             ;;
         *)
             warn "Invalid arguments for nvmf.discover=$1"
-            return 1
+            return 0
             ;;
     esac
     if [ "$traddr" = "none" ] ; then
         warn "traddr is mandatory for $trtype"
-        return 1;
+        return 0;
     fi
     if [ "$trtype" = "fc" ] ; then
+        if [ "$traddr" = "auto" ] ; then
+            rm /etc/nvme/discovery.conf
+            return 1
+        fi
         if [ "$hosttraddr" = "none" ] ; then
             warn "host traddr is mandatory for fc"
-            return 1
+            return 0
         fi
     elif [ "$trtype" != "rdma" ] && [ "$trtype" != "tcp" ] ; then
         warn "unsupported transport $trtype"
-        return 1
+        return 0
     fi
     if [ "$trtype" = "tcp" ]; then
         validate_ip_conn
     fi
-    echo "--transport=$trtype --traddr=$traddr --host-traddr=$hosttraddr 
--trsvcid=$trsvcid" >> /etc/nvme/discovery.conf
+    if [ "$trtype" = "fc" ] ; then
+        echo "--transport=$trtype --traddr=$traddr --host-traddr=$hosttraddr" 
>> /etc/nvme/discovery.conf
+    else
+        echo "--transport=$trtype --traddr=$traddr --host-traddr=$hosttraddr 
--trsvcid=$trsvcid" >> /etc/nvme/discovery.conf
+    fi
+    return 0
 }
 
 nvmf_hostnqn=$(getarg nvmf.hostnqn=)
@@ -114,7 +123,7 @@
 fi
 
 for d in $(getargs nvmf.discover=); do
-    parse_nvmf_discover "$d"
+    parse_nvmf_discover "$d" || break
 done
 
 # Host NQN and host id are mandatory for NVMe-oF
@@ -122,17 +131,13 @@
 [ -f "/etc/nvme/hostid" ] || exit 0
 
 if [ -f "/etc/nvme/discovery.conf" ] ; then
+    /sbin/initqueue --settled --onetime --unique --name nvme-discover 
/usr/sbin/nvme connect-all
     if [ "$trtype" = "tcp" ] ; then
-        /sbin/initqueue --settled --onetime --unique --name nvme-discover 
/usr/sbin/nvme connect-all
         > /tmp/net.$ifname.did-setup
-    else
-        /sbin/initqueue --onetime --unique --name nvme-discover /usr/sbin/nvme 
connect-all
     fi
 else
-    if [ "$trtype" = "tcp" ] ; then
-        /sbin/initqueue --settled --onetime --unique /usr/sbin/nvme 
connect-all -t tcp -a $traddr -s $trsvcid
-        > /tmp/net.$ifname.did-setup
-    else
-        /sbin/initqueue --finished --unique --name nvme-fc-autoconnect echo 1 
> /sys/class/fc/fc_udev_device/nvme_discovery
+    # No nvme command line arguments present, try autodiscovery
+    if [ "$trtype" = "fc" ] ; then
+        /sbin/initqueue --finished --onetime --unique --name 
nvme-fc-autoconnect /sbin/nvmf-autoconnect.sh
     fi
 fi
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/dracut-050+suse.227.g7a9b782d/modules.d/95rootfs-block/module-setup.sh 
new/dracut-050+suse.250.ge6b6e843/modules.d/95rootfs-block/module-setup.sh
--- old/dracut-050+suse.227.g7a9b782d/modules.d/95rootfs-block/module-setup.sh  
2020-09-28 11:50:08.000000000 +0200
+++ new/dracut-050+suse.250.ge6b6e843/modules.d/95rootfs-block/module-setup.sh  
2020-10-13 16:08:01.000000000 +0200
@@ -30,7 +30,8 @@
 }
 
 cmdline_rootfs() {
-    local _dev=/dev/block/$(find_root_block_device)
+    local _block=$(find_root_block_device)
+    local _dev=/dev/block/$_block
     local _fstype _flags _subvol
 
     # "--no-hostonly-default-device" can result in empty root_devs
@@ -38,17 +39,21 @@
         return
     fi
 
-    if [ -e $_dev ]; then
+    if [ -n "$_block" -a -b $_dev ]; then
         printf " root=%s" "$(shorten_persistent_dev "$(get_persistent_dev 
"$_dev")")"
-        _fstype="$(find_mp_fstype /)"
-        _flags="$(find_mp_fsopts /)"
+    fi
+    _fstype="$(find_mp_fstype /)"
+    _flags="$(find_mp_fsopts /)"
+    if [ -n "$_fstype" ]; then
         printf " rootfstype=%s" "$_fstype"
-        if [[ $use_fstab != yes ]] && [[ $_fstype = btrfs ]]; then
-            _subvol=$(findmnt -e -v -n -o FSROOT --target /) \
-               && _subvol=${_subvol#/}
-            _flags="$_flags,${_subvol:+subvol=$_subvol}"
-        fi
-        printf " rootflags=%s" "${_flags#,}"
+    fi
+    if [[ $use_fstab != yes ]] && [[ $_fstype = btrfs ]]; then
+        _subvol=$(findmnt -e -v -n -o FSROOT --target /) \
+            && _subvol=${_subvol#/}
+        _flags="$_flags${_subvol:+,subvol=$_subvol}"
+    fi
+    if [ -n "$_flags" ]; then
+        printf " rootflags=%s" "$_flags"
     fi
 }
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/dracut-050+suse.227.g7a9b782d/modules.d/98dracut-systemd/rootfs-generator.sh
 
new/dracut-050+suse.250.ge6b6e843/modules.d/98dracut-systemd/rootfs-generator.sh
--- 
old/dracut-050+suse.227.g7a9b782d/modules.d/98dracut-systemd/rootfs-generator.sh
    2020-09-28 11:50:08.000000000 +0200
+++ 
new/dracut-050+suse.250.ge6b6e843/modules.d/98dracut-systemd/rootfs-generator.sh
    2020-10-13 16:08:01.000000000 +0200
@@ -13,8 +13,15 @@
 
     if ! [ -e "$hookdir/initqueue/finished/devexists-${_name}.sh" ]; then
 
-        printf '[ -e "%s" ]\n' $1 \
-            >> "$hookdir/initqueue/finished/devexists-${_name}.sh"
+        # If a LUKS device needs unlocking via systemd in the initrd, assume
+        # it's for the root device. In that case, don't block on it if it's
+        # after remote-fs-pre.target since the initqueue is ordered before it 
so
+        # it will never actually show up (think Tang-pinned rootfs).
+        cat > "$hookdir/initqueue/finished/devexists-${_name}.sh" << EOF
+if ! grep -q After=remote-fs-pre.target 
/run/systemd/generator/systemd-cryptsetup@*.service 2>/dev/null; then
+    [ -e "$1" ]
+fi
+EOF
         {
             printf '[ -e "%s" ] || ' $1
             printf 'warn "\"%s\" does not exist"\n' $1
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/dracut-050+suse.227.g7a9b782d/modules.d/99memstrack/memstrack-report.sh 
new/dracut-050+suse.250.ge6b6e843/modules.d/99memstrack/memstrack-report.sh
--- old/dracut-050+suse.227.g7a9b782d/modules.d/99memstrack/memstrack-report.sh 
2020-09-28 11:50:08.000000000 +0200
+++ new/dracut-050+suse.250.ge6b6e843/modules.d/99memstrack/memstrack-report.sh 
2020-10-13 16:08:01.000000000 +0200
@@ -1,4 +1,4 @@
-#!/usr/bin/env bash
+#!/bin/bash
 . /lib/dracut-lib.sh
 
 if ! [ "$DEBUG_MEM_LEVEL" -ge 4 ]; then
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/dracut-050+suse.227.g7a9b782d/modules.d/99memstrack/module-setup.sh 
new/dracut-050+suse.250.ge6b6e843/modules.d/99memstrack/module-setup.sh
--- old/dracut-050+suse.227.g7a9b782d/modules.d/99memstrack/module-setup.sh     
2020-09-28 11:50:08.000000000 +0200
+++ new/dracut-050+suse.250.ge6b6e843/modules.d/99memstrack/module-setup.sh     
2020-10-13 16:08:01.000000000 +0200
@@ -1,4 +1,4 @@
-#!/usr/bin/bash
+#!/bin/bash
 
 check() {
     if type -P memstrack >/dev/null; then

++++++ dracut.obsinfo ++++++
--- /var/tmp/diff_new_pack.ysFPuC/_old  2020-10-15 13:48:25.465249780 +0200
+++ /var/tmp/diff_new_pack.ysFPuC/_new  2020-10-15 13:48:25.465249780 +0200
@@ -1,5 +1,5 @@
 name: dracut
-version: 050+suse.227.g7a9b782d
-mtime: 1601286608
-commit: 7a9b782d2002da2b2c0a9611e3400d2a51bbe069
+version: 050+suse.250.ge6b6e843
+mtime: 1602598081
+commit: e6b6e84384ac9f7afbfcf87fd8c6f43b1739d4d9
 


Reply via email to