From f6aa0ecbe50a3141d6a3a03f0282df3ec96b76df Mon Sep 17 00:00:00 2001
From: Benjamin Gilbert <bgilbert@redhat.com>
Date: Tue, 16 Aug 2022 23:20:45 -0400
Subject: Install xprtrdma/svcrdma kmods in redhat/suse dracut modules

[ Upstream commit aa40d6dab34d2a465e520ddb13858bd47c7b1c06 ]

The rdma dracut module installs udev rules that can cause
rdma-load-modules@rdma.service to load kernel modules listed in rdma.conf.
That file mentions the xprtrdma and svcrdma modules (both of which are
aliases for rpcrdma in kernel 5.18) but the dracut module doesn't install
them in the initrd.  If they're not installed by other means, this causes
warnings in the journal:

    systemd-modules-load[...]: Failed to find module 'xprtrdma'
    systemd-modules-load[...]: Failed to find module 'svcrdma'

Before systemd 244, it also causes rdma-load-modules@rdma.service to fail
entirely.

Fix by explicitly installing those modules in the initrd.

See also https://bugzilla.redhat.com/show_bug.cgi?id=2117375.

Fixes: 8bb38f6cb1b2 ("redhat: update dracut setting")
Fixes: 775241089e26 ("suse: fix dracut support")
Signed-off-by: Benjamin Gilbert <bgilbert@redhat.com>
Signed-off-by: Nicolas Morey-Chaisemartin <nmoreychaisemartin@suse.com>
---
 redhat/rdma.modules-setup.sh | 2 +-
 suse/module-setup.sh         | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/redhat/rdma.modules-setup.sh b/redhat/rdma.modules-setup.sh
index 1dabb5d..4dab750 100644
--- a/redhat/rdma.modules-setup.sh
+++ b/redhat/rdma.modules-setup.sh
@@ -29,5 +29,5 @@ install() {
 
 installkernel() {
 	hostonly='' instmods =drivers/infiniband =drivers/net/ethernet/mellanox =drivers/net/ethernet/chelsio =drivers/net/ethernet/cisco =drivers/net/ethernet/emulex =drivers/target
-	hostonly='' instmods crc-t10dif crct10dif_common
+	hostonly='' instmods crc-t10dif crct10dif_common xprtrdma svcrdma
 }
diff --git a/suse/module-setup.sh b/suse/module-setup.sh
index 26419bf..1e5c517 100644
--- a/suse/module-setup.sh
+++ b/suse/module-setup.sh
@@ -27,5 +27,5 @@ install() {
 
 installkernel() {
 	hostonly='' instmods =drivers/infiniband =drivers/net/ethernet/mellanox =drivers/net/ethernet/chelsio =drivers/net/ethernet/cisco =drivers/net/ethernet/emulex =drivers/target
-	hostonly='' instmods crc-t10dif crct10dif_common
+	hostonly='' instmods crc-t10dif crct10dif_common xprtrdma svcrdma
 }
-- 
2.34.1

