All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] IB: Revert "remove redundant INFINIBAND kconfig dependencies"
@ 2018-05-25 21:29 ` Arnd Bergmann
  0 siblings, 0 replies; 22+ messages in thread
From: Arnd Bergmann @ 2018-05-25 21:29 UTC (permalink / raw)
  To: Doug Ledford, Jason Gunthorpe
  Cc: Latchesar Ionkov, samba-technical-w/Ol4Ecudpl8XjKLYN78aQ,
	linux-nvme-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r, Keith Busch,
	Christoph Hellwig, devel-gWbeCf7V1WCQmaza687I9mD2FQJk+8+b,
	linux-cifs-u79uwXL29TY76Z2rM5mHXA,
	rds-devel-N0ozoZBvEnrZJqsBc5GL+g, Sagi Grimberg,
	linux-rdma-u79uwXL29TY76Z2rM5mHXA, J. Bruce Fields,
	Bart Van Assche, Greg Thelen, Arnd Bergmann, Eric Van Hensbergen,
	Santosh Shilimkar, Jens Axboe,
	v9fs-developer-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f, Trond Myklebust,
	Oleg Drokin, linux-nfs-u79uwXL29TY76Z2rM5mHXA,
	Greg Kroah-Hartman, Jeff Layton,
	linux-kernel-u79uwXL29TY76Z2rM5mHXA, David S. Miller

Several subsystems depend on INFINIBAND_ADDR_TRANS, which in turn depends
on INFINIBAND. However, when with CONFIG_INIFIBAND=m, this leads to a
link error when another driver using it is built-in. The
INFINIBAND_ADDR_TRANS dependency is insufficient here as this is
a 'bool' symbol that does not force anything to be a module in turn.

fs/cifs/smbdirect.o: In function `smbd_disconnect_rdma_work':
smbdirect.c:(.text+0x1e4): undefined reference to `rdma_disconnect'
net/9p/trans_rdma.o: In function `rdma_request':
trans_rdma.c:(.text+0x7bc): undefined reference to `rdma_disconnect'
net/9p/trans_rdma.o: In function `rdma_destroy_trans':
trans_rdma.c:(.text+0x830): undefined reference to `ib_destroy_qp'
trans_rdma.c:(.text+0x858): undefined reference to `ib_dealloc_pd'

Fixes: 9533b292a7ac ("IB: remove redundant INFINIBAND kconfig dependencies")
Signed-off-by: Arnd Bergmann <arnd-r2nGTMty4D4@public.gmane.org>
---
The patch that introduced the problem has been queued in the
rdma-fixes/for-rc tree. Please revert the patch before sending
the branch to Linus.
---
 drivers/infiniband/ulp/srpt/Kconfig | 2 +-
 drivers/nvme/host/Kconfig           | 2 +-
 drivers/nvme/target/Kconfig         | 2 +-
 drivers/staging/lustre/lnet/Kconfig | 2 +-
 fs/cifs/Kconfig                     | 2 +-
 net/9p/Kconfig                      | 2 +-
 net/rds/Kconfig                     | 2 +-
 net/sunrpc/Kconfig                  | 2 +-
 8 files changed, 8 insertions(+), 8 deletions(-)

diff --git a/drivers/infiniband/ulp/srpt/Kconfig b/drivers/infiniband/ulp/srpt/Kconfig
index 25bf6955b6d0..fb8b7182f05e 100644
--- a/drivers/infiniband/ulp/srpt/Kconfig
+++ b/drivers/infiniband/ulp/srpt/Kconfig
@@ -1,6 +1,6 @@
 config INFINIBAND_SRPT
 	tristate "InfiniBand SCSI RDMA Protocol target support"
-	depends on INFINIBAND_ADDR_TRANS && TARGET_CORE
+	depends on INFINIBAND && INFINIBAND_ADDR_TRANS && TARGET_CORE
 	---help---
 
 	  Support for the SCSI RDMA Protocol (SRP) Target driver. The
diff --git a/drivers/nvme/host/Kconfig b/drivers/nvme/host/Kconfig
index dbb7464c018c..88a8b5916624 100644
--- a/drivers/nvme/host/Kconfig
+++ b/drivers/nvme/host/Kconfig
@@ -27,7 +27,7 @@ config NVME_FABRICS
 
 config NVME_RDMA
 	tristate "NVM Express over Fabrics RDMA host driver"
-	depends on INFINIBAND_ADDR_TRANS && BLOCK
+	depends on INFINIBAND && INFINIBAND_ADDR_TRANS && BLOCK
 	select NVME_CORE
 	select NVME_FABRICS
 	select SG_POOL
diff --git a/drivers/nvme/target/Kconfig b/drivers/nvme/target/Kconfig
index 7595664ee753..3c7b61ddb0d1 100644
--- a/drivers/nvme/target/Kconfig
+++ b/drivers/nvme/target/Kconfig
@@ -27,7 +27,7 @@ config NVME_TARGET_LOOP
 
 config NVME_TARGET_RDMA
 	tristate "NVMe over Fabrics RDMA target support"
-	depends on INFINIBAND_ADDR_TRANS
+	depends on INFINIBAND && INFINIBAND_ADDR_TRANS
 	depends on NVME_TARGET
 	select SGL_ALLOC
 	help
diff --git a/drivers/staging/lustre/lnet/Kconfig b/drivers/staging/lustre/lnet/Kconfig
index f3b1ad4bd3dc..ad049e6f24e4 100644
--- a/drivers/staging/lustre/lnet/Kconfig
+++ b/drivers/staging/lustre/lnet/Kconfig
@@ -34,7 +34,7 @@ config LNET_SELFTEST
 
 config LNET_XPRT_IB
 	tristate "LNET infiniband support"
-	depends on LNET && PCI && INFINIBAND_ADDR_TRANS
+	depends on LNET && PCI && INFINIBAND && INFINIBAND_ADDR_TRANS
 	default LNET && INFINIBAND
 	help
 	  This option allows the LNET users to use infiniband as an
diff --git a/fs/cifs/Kconfig b/fs/cifs/Kconfig
index d61e2de8d0eb..5f132d59dfc2 100644
--- a/fs/cifs/Kconfig
+++ b/fs/cifs/Kconfig
@@ -197,7 +197,7 @@ config CIFS_SMB311
 
 config CIFS_SMB_DIRECT
 	bool "SMB Direct support (Experimental)"
-	depends on CIFS=m && INFINIBAND_ADDR_TRANS || CIFS=y && INFINIBAND_ADDR_TRANS=y
+	depends on CIFS=m && INFINIBAND && INFINIBAND_ADDR_TRANS || CIFS=y && INFINIBAND=y && INFINIBAND_ADDR_TRANS=y
 	help
 	  Enables SMB Direct experimental support for SMB 3.0, 3.02 and 3.1.1.
 	  SMB Direct allows transferring SMB packets over RDMA. If unsure,
diff --git a/net/9p/Kconfig b/net/9p/Kconfig
index 46c39f7da444..e6014e0e51f7 100644
--- a/net/9p/Kconfig
+++ b/net/9p/Kconfig
@@ -32,7 +32,7 @@ config NET_9P_XEN
 
 
 config NET_9P_RDMA
-	depends on INET && INFINIBAND_ADDR_TRANS
+	depends on INET && INFINIBAND && INFINIBAND_ADDR_TRANS
 	tristate "9P RDMA Transport (Experimental)"
 	help
 	  This builds support for an RDMA transport.
diff --git a/net/rds/Kconfig b/net/rds/Kconfig
index 1a31502ee7db..bffde4b46c5d 100644
--- a/net/rds/Kconfig
+++ b/net/rds/Kconfig
@@ -8,7 +8,7 @@ config RDS
 
 config RDS_RDMA
 	tristate "RDS over Infiniband"
-	depends on RDS && INFINIBAND_ADDR_TRANS
+	depends on RDS && INFINIBAND && INFINIBAND_ADDR_TRANS
 	---help---
 	  Allow RDS to use Infiniband as a transport.
 	  This transport supports RDMA operations.
diff --git a/net/sunrpc/Kconfig b/net/sunrpc/Kconfig
index 6358e5271070..ac09ca803296 100644
--- a/net/sunrpc/Kconfig
+++ b/net/sunrpc/Kconfig
@@ -50,7 +50,7 @@ config SUNRPC_DEBUG
 
 config SUNRPC_XPRT_RDMA
 	tristate "RPC-over-RDMA transport"
-	depends on SUNRPC && INFINIBAND_ADDR_TRANS
+	depends on SUNRPC && INFINIBAND && INFINIBAND_ADDR_TRANS
 	default SUNRPC && INFINIBAND
 	select SG_POOL
 	help
-- 
2.9.0

^ permalink raw reply related	[flat|nested] 22+ messages in thread

* [PATCH] IB: Revert "remove redundant INFINIBAND kconfig dependencies"
@ 2018-05-25 21:29 ` Arnd Bergmann
  0 siblings, 0 replies; 22+ messages in thread
From: Arnd Bergmann @ 2018-05-25 21:29 UTC (permalink / raw)
  To: Doug Ledford, Jason Gunthorpe
  Cc: Latchesar Ionkov, samba-technical-w/Ol4Ecudpl8XjKLYN78aQ,
	linux-nvme-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r, Keith Busch,
	Christoph Hellwig, devel-gWbeCf7V1WCQmaza687I9mD2FQJk+8+b,
	linux-cifs-u79uwXL29TY76Z2rM5mHXA,
	rds-devel-N0ozoZBvEnrZJqsBc5GL+g, Sagi Grimberg,
	linux-rdma-u79uwXL29TY76Z2rM5mHXA, J. Bruce Fields,
	Bart Van Assche, Greg Thelen, Arnd Bergmann, Eric Van Hensbergen,
	Santosh Shilimkar, Jens Axboe,
	v9fs-developer-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f, Trond Myklebust,
	Oleg Drokin, linux-nfs-u79uwXL29TY76Z2rM5mHXA,
	Greg Kroah-Hartman, Jeff Layton,
	linux-kernel-u79uwXL29TY76Z2rM5mHXA, David S. Miller

Several subsystems depend on INFINIBAND_ADDR_TRANS, which in turn depends
on INFINIBAND. However, when with CONFIG_INIFIBAND=m, this leads to a
link error when another driver using it is built-in. The
INFINIBAND_ADDR_TRANS dependency is insufficient here as this is
a 'bool' symbol that does not force anything to be a module in turn.

fs/cifs/smbdirect.o: In function `smbd_disconnect_rdma_work':
smbdirect.c:(.text+0x1e4): undefined reference to `rdma_disconnect'
net/9p/trans_rdma.o: In function `rdma_request':
trans_rdma.c:(.text+0x7bc): undefined reference to `rdma_disconnect'
net/9p/trans_rdma.o: In function `rdma_destroy_trans':
trans_rdma.c:(.text+0x830): undefined reference to `ib_destroy_qp'
trans_rdma.c:(.text+0x858): undefined reference to `ib_dealloc_pd'

Fixes: 9533b292a7ac ("IB: remove redundant INFINIBAND kconfig dependencies")
Signed-off-by: Arnd Bergmann <arnd-r2nGTMty4D4@public.gmane.org>
---
The patch that introduced the problem has been queued in the
rdma-fixes/for-rc tree. Please revert the patch before sending
the branch to Linus.
---
 drivers/infiniband/ulp/srpt/Kconfig | 2 +-
 drivers/nvme/host/Kconfig           | 2 +-
 drivers/nvme/target/Kconfig         | 2 +-
 drivers/staging/lustre/lnet/Kconfig | 2 +-
 fs/cifs/Kconfig                     | 2 +-
 net/9p/Kconfig                      | 2 +-
 net/rds/Kconfig                     | 2 +-
 net/sunrpc/Kconfig                  | 2 +-
 8 files changed, 8 insertions(+), 8 deletions(-)

diff --git a/drivers/infiniband/ulp/srpt/Kconfig b/drivers/infiniband/ulp/srpt/Kconfig
index 25bf6955b6d0..fb8b7182f05e 100644
--- a/drivers/infiniband/ulp/srpt/Kconfig
+++ b/drivers/infiniband/ulp/srpt/Kconfig
@@ -1,6 +1,6 @@
 config INFINIBAND_SRPT
 	tristate "InfiniBand SCSI RDMA Protocol target support"
-	depends on INFINIBAND_ADDR_TRANS && TARGET_CORE
+	depends on INFINIBAND && INFINIBAND_ADDR_TRANS && TARGET_CORE
 	---help---
 
 	  Support for the SCSI RDMA Protocol (SRP) Target driver. The
diff --git a/drivers/nvme/host/Kconfig b/drivers/nvme/host/Kconfig
index dbb7464c018c..88a8b5916624 100644
--- a/drivers/nvme/host/Kconfig
+++ b/drivers/nvme/host/Kconfig
@@ -27,7 +27,7 @@ config NVME_FABRICS
 
 config NVME_RDMA
 	tristate "NVM Express over Fabrics RDMA host driver"
-	depends on INFINIBAND_ADDR_TRANS && BLOCK
+	depends on INFINIBAND && INFINIBAND_ADDR_TRANS && BLOCK
 	select NVME_CORE
 	select NVME_FABRICS
 	select SG_POOL
diff --git a/drivers/nvme/target/Kconfig b/drivers/nvme/target/Kconfig
index 7595664ee753..3c7b61ddb0d1 100644
--- a/drivers/nvme/target/Kconfig
+++ b/drivers/nvme/target/Kconfig
@@ -27,7 +27,7 @@ config NVME_TARGET_LOOP
 
 config NVME_TARGET_RDMA
 	tristate "NVMe over Fabrics RDMA target support"
-	depends on INFINIBAND_ADDR_TRANS
+	depends on INFINIBAND && INFINIBAND_ADDR_TRANS
 	depends on NVME_TARGET
 	select SGL_ALLOC
 	help
diff --git a/drivers/staging/lustre/lnet/Kconfig b/drivers/staging/lustre/lnet/Kconfig
index f3b1ad4bd3dc..ad049e6f24e4 100644
--- a/drivers/staging/lustre/lnet/Kconfig
+++ b/drivers/staging/lustre/lnet/Kconfig
@@ -34,7 +34,7 @@ config LNET_SELFTEST
 
 config LNET_XPRT_IB
 	tristate "LNET infiniband support"
-	depends on LNET && PCI && INFINIBAND_ADDR_TRANS
+	depends on LNET && PCI && INFINIBAND && INFINIBAND_ADDR_TRANS
 	default LNET && INFINIBAND
 	help
 	  This option allows the LNET users to use infiniband as an
diff --git a/fs/cifs/Kconfig b/fs/cifs/Kconfig
index d61e2de8d0eb..5f132d59dfc2 100644
--- a/fs/cifs/Kconfig
+++ b/fs/cifs/Kconfig
@@ -197,7 +197,7 @@ config CIFS_SMB311
 
 config CIFS_SMB_DIRECT
 	bool "SMB Direct support (Experimental)"
-	depends on CIFS=m && INFINIBAND_ADDR_TRANS || CIFS=y && INFINIBAND_ADDR_TRANS=y
+	depends on CIFS=m && INFINIBAND && INFINIBAND_ADDR_TRANS || CIFS=y && INFINIBAND=y && INFINIBAND_ADDR_TRANS=y
 	help
 	  Enables SMB Direct experimental support for SMB 3.0, 3.02 and 3.1.1.
 	  SMB Direct allows transferring SMB packets over RDMA. If unsure,
diff --git a/net/9p/Kconfig b/net/9p/Kconfig
index 46c39f7da444..e6014e0e51f7 100644
--- a/net/9p/Kconfig
+++ b/net/9p/Kconfig
@@ -32,7 +32,7 @@ config NET_9P_XEN
 
 
 config NET_9P_RDMA
-	depends on INET && INFINIBAND_ADDR_TRANS
+	depends on INET && INFINIBAND && INFINIBAND_ADDR_TRANS
 	tristate "9P RDMA Transport (Experimental)"
 	help
 	  This builds support for an RDMA transport.
diff --git a/net/rds/Kconfig b/net/rds/Kconfig
index 1a31502ee7db..bffde4b46c5d 100644
--- a/net/rds/Kconfig
+++ b/net/rds/Kconfig
@@ -8,7 +8,7 @@ config RDS
 
 config RDS_RDMA
 	tristate "RDS over Infiniband"
-	depends on RDS && INFINIBAND_ADDR_TRANS
+	depends on RDS && INFINIBAND && INFINIBAND_ADDR_TRANS
 	---help---
 	  Allow RDS to use Infiniband as a transport.
 	  This transport supports RDMA operations.
diff --git a/net/sunrpc/Kconfig b/net/sunrpc/Kconfig
index 6358e5271070..ac09ca803296 100644
--- a/net/sunrpc/Kconfig
+++ b/net/sunrpc/Kconfig
@@ -50,7 +50,7 @@ config SUNRPC_DEBUG
 
 config SUNRPC_XPRT_RDMA
 	tristate "RPC-over-RDMA transport"
-	depends on SUNRPC && INFINIBAND_ADDR_TRANS
+	depends on SUNRPC && INFINIBAND && INFINIBAND_ADDR_TRANS
 	default SUNRPC && INFINIBAND
 	select SG_POOL
 	help
-- 
2.9.0

^ permalink raw reply related	[flat|nested] 22+ messages in thread

* [PATCH] IB: Revert "remove redundant INFINIBAND kconfig dependencies"
@ 2018-05-25 21:29 ` Arnd Bergmann
  0 siblings, 0 replies; 22+ messages in thread
From: Arnd Bergmann @ 2018-05-25 21:29 UTC (permalink / raw)
  To: Doug Ledford, Jason Gunthorpe
  Cc: Arnd Bergmann, Keith Busch, Jens Axboe, Christoph Hellwig,
	Sagi Grimberg, Oleg Drokin, Andreas Dilger, James Simmons,
	Greg Kroah-Hartman, Steve French, Eric Van Hensbergen,
	Ron Minnich, Latchesar Ionkov, David S. Miller,
	Santosh Shilimkar, Trond Myklebust, Anna Schumaker,
	J. Bruce Fields, Jeff Layton, Greg Thelen, Bart Van Assche,
	linux-rdma, linux-kernel, linux-nvme, lustre-devel, devel,
	linux-cifs, samba-technical, v9fs-developer, netdev, rds-devel,
	linux-nfs

Several subsystems depend on INFINIBAND_ADDR_TRANS, which in turn depends
on INFINIBAND. However, when with CONFIG_INIFIBAND=m, this leads to a
link error when another driver using it is built-in. The
INFINIBAND_ADDR_TRANS dependency is insufficient here as this is
a 'bool' symbol that does not force anything to be a module in turn.

fs/cifs/smbdirect.o: In function `smbd_disconnect_rdma_work':
smbdirect.c:(.text+0x1e4): undefined reference to `rdma_disconnect'
net/9p/trans_rdma.o: In function `rdma_request':
trans_rdma.c:(.text+0x7bc): undefined reference to `rdma_disconnect'
net/9p/trans_rdma.o: In function `rdma_destroy_trans':
trans_rdma.c:(.text+0x830): undefined reference to `ib_destroy_qp'
trans_rdma.c:(.text+0x858): undefined reference to `ib_dealloc_pd'

Fixes: 9533b292a7ac ("IB: remove redundant INFINIBAND kconfig dependencies")
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
---
The patch that introduced the problem has been queued in the
rdma-fixes/for-rc tree. Please revert the patch before sending
the branch to Linus.
---
 drivers/infiniband/ulp/srpt/Kconfig | 2 +-
 drivers/nvme/host/Kconfig           | 2 +-
 drivers/nvme/target/Kconfig         | 2 +-
 drivers/staging/lustre/lnet/Kconfig | 2 +-
 fs/cifs/Kconfig                     | 2 +-
 net/9p/Kconfig                      | 2 +-
 net/rds/Kconfig                     | 2 +-
 net/sunrpc/Kconfig                  | 2 +-
 8 files changed, 8 insertions(+), 8 deletions(-)

diff --git a/drivers/infiniband/ulp/srpt/Kconfig b/drivers/infiniband/ulp/srpt/Kconfig
index 25bf6955b6d0..fb8b7182f05e 100644
--- a/drivers/infiniband/ulp/srpt/Kconfig
+++ b/drivers/infiniband/ulp/srpt/Kconfig
@@ -1,6 +1,6 @@
 config INFINIBAND_SRPT
 	tristate "InfiniBand SCSI RDMA Protocol target support"
-	depends on INFINIBAND_ADDR_TRANS && TARGET_CORE
+	depends on INFINIBAND && INFINIBAND_ADDR_TRANS && TARGET_CORE
 	---help---
 
 	  Support for the SCSI RDMA Protocol (SRP) Target driver. The
diff --git a/drivers/nvme/host/Kconfig b/drivers/nvme/host/Kconfig
index dbb7464c018c..88a8b5916624 100644
--- a/drivers/nvme/host/Kconfig
+++ b/drivers/nvme/host/Kconfig
@@ -27,7 +27,7 @@ config NVME_FABRICS
 
 config NVME_RDMA
 	tristate "NVM Express over Fabrics RDMA host driver"
-	depends on INFINIBAND_ADDR_TRANS && BLOCK
+	depends on INFINIBAND && INFINIBAND_ADDR_TRANS && BLOCK
 	select NVME_CORE
 	select NVME_FABRICS
 	select SG_POOL
diff --git a/drivers/nvme/target/Kconfig b/drivers/nvme/target/Kconfig
index 7595664ee753..3c7b61ddb0d1 100644
--- a/drivers/nvme/target/Kconfig
+++ b/drivers/nvme/target/Kconfig
@@ -27,7 +27,7 @@ config NVME_TARGET_LOOP
 
 config NVME_TARGET_RDMA
 	tristate "NVMe over Fabrics RDMA target support"
-	depends on INFINIBAND_ADDR_TRANS
+	depends on INFINIBAND && INFINIBAND_ADDR_TRANS
 	depends on NVME_TARGET
 	select SGL_ALLOC
 	help
diff --git a/drivers/staging/lustre/lnet/Kconfig b/drivers/staging/lustre/lnet/Kconfig
index f3b1ad4bd3dc..ad049e6f24e4 100644
--- a/drivers/staging/lustre/lnet/Kconfig
+++ b/drivers/staging/lustre/lnet/Kconfig
@@ -34,7 +34,7 @@ config LNET_SELFTEST
 
 config LNET_XPRT_IB
 	tristate "LNET infiniband support"
-	depends on LNET && PCI && INFINIBAND_ADDR_TRANS
+	depends on LNET && PCI && INFINIBAND && INFINIBAND_ADDR_TRANS
 	default LNET && INFINIBAND
 	help
 	  This option allows the LNET users to use infiniband as an
diff --git a/fs/cifs/Kconfig b/fs/cifs/Kconfig
index d61e2de8d0eb..5f132d59dfc2 100644
--- a/fs/cifs/Kconfig
+++ b/fs/cifs/Kconfig
@@ -197,7 +197,7 @@ config CIFS_SMB311
 
 config CIFS_SMB_DIRECT
 	bool "SMB Direct support (Experimental)"
-	depends on CIFS=m && INFINIBAND_ADDR_TRANS || CIFS=y && INFINIBAND_ADDR_TRANS=y
+	depends on CIFS=m && INFINIBAND && INFINIBAND_ADDR_TRANS || CIFS=y && INFINIBAND=y && INFINIBAND_ADDR_TRANS=y
 	help
 	  Enables SMB Direct experimental support for SMB 3.0, 3.02 and 3.1.1.
 	  SMB Direct allows transferring SMB packets over RDMA. If unsure,
diff --git a/net/9p/Kconfig b/net/9p/Kconfig
index 46c39f7da444..e6014e0e51f7 100644
--- a/net/9p/Kconfig
+++ b/net/9p/Kconfig
@@ -32,7 +32,7 @@ config NET_9P_XEN
 
 
 config NET_9P_RDMA
-	depends on INET && INFINIBAND_ADDR_TRANS
+	depends on INET && INFINIBAND && INFINIBAND_ADDR_TRANS
 	tristate "9P RDMA Transport (Experimental)"
 	help
 	  This builds support for an RDMA transport.
diff --git a/net/rds/Kconfig b/net/rds/Kconfig
index 1a31502ee7db..bffde4b46c5d 100644
--- a/net/rds/Kconfig
+++ b/net/rds/Kconfig
@@ -8,7 +8,7 @@ config RDS
 
 config RDS_RDMA
 	tristate "RDS over Infiniband"
-	depends on RDS && INFINIBAND_ADDR_TRANS
+	depends on RDS && INFINIBAND && INFINIBAND_ADDR_TRANS
 	---help---
 	  Allow RDS to use Infiniband as a transport.
 	  This transport supports RDMA operations.
diff --git a/net/sunrpc/Kconfig b/net/sunrpc/Kconfig
index 6358e5271070..ac09ca803296 100644
--- a/net/sunrpc/Kconfig
+++ b/net/sunrpc/Kconfig
@@ -50,7 +50,7 @@ config SUNRPC_DEBUG
 
 config SUNRPC_XPRT_RDMA
 	tristate "RPC-over-RDMA transport"
-	depends on SUNRPC && INFINIBAND_ADDR_TRANS
+	depends on SUNRPC && INFINIBAND && INFINIBAND_ADDR_TRANS
 	default SUNRPC && INFINIBAND
 	select SG_POOL
 	help
-- 
2.9.0

^ permalink raw reply related	[flat|nested] 22+ messages in thread

* [lustre-devel] [PATCH] IB: Revert "remove redundant INFINIBAND kconfig dependencies"
@ 2018-05-25 21:29 ` Arnd Bergmann
  0 siblings, 0 replies; 22+ messages in thread
From: Arnd Bergmann @ 2018-05-25 21:29 UTC (permalink / raw)
  To: Doug Ledford, Jason Gunthorpe
  Cc: Latchesar Ionkov, samba-technical-w/Ol4Ecudpl8XjKLYN78aQ,
	linux-nvme-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r, Keith Busch,
	Christoph Hellwig, devel-gWbeCf7V1WCQmaza687I9mD2FQJk+8+b,
	linux-cifs-u79uwXL29TY76Z2rM5mHXA,
	rds-devel-N0ozoZBvEnrZJqsBc5GL+g, Sagi Grimberg,
	linux-rdma-u79uwXL29TY76Z2rM5mHXA, J. Bruce Fields,
	Bart Van Assche, Greg Thelen, Arnd Bergmann, Eric Van Hensbergen,
	Santosh Shilimkar, Jens Axboe,
	v9fs-developer-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f, Trond Myklebust,
	Oleg Drokin, linux-nfs-u79uwXL29TY76Z2rM5mHXA,
	Greg Kroah-Hartman, Jeff Layton,
	linux-kernel-u79uwXL29TY76Z2rM5mHXA, David S. Miller

Several subsystems depend on INFINIBAND_ADDR_TRANS, which in turn depends
on INFINIBAND. However, when with CONFIG_INIFIBAND=m, this leads to a
link error when another driver using it is built-in. The
INFINIBAND_ADDR_TRANS dependency is insufficient here as this is
a 'bool' symbol that does not force anything to be a module in turn.

fs/cifs/smbdirect.o: In function `smbd_disconnect_rdma_work':
smbdirect.c:(.text+0x1e4): undefined reference to `rdma_disconnect'
net/9p/trans_rdma.o: In function `rdma_request':
trans_rdma.c:(.text+0x7bc): undefined reference to `rdma_disconnect'
net/9p/trans_rdma.o: In function `rdma_destroy_trans':
trans_rdma.c:(.text+0x830): undefined reference to `ib_destroy_qp'
trans_rdma.c:(.text+0x858): undefined reference to `ib_dealloc_pd'

Fixes: 9533b292a7ac ("IB: remove redundant INFINIBAND kconfig dependencies")
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
---
The patch that introduced the problem has been queued in the
rdma-fixes/for-rc tree. Please revert the patch before sending
the branch to Linus.
---
 drivers/infiniband/ulp/srpt/Kconfig | 2 +-
 drivers/nvme/host/Kconfig           | 2 +-
 drivers/nvme/target/Kconfig         | 2 +-
 drivers/staging/lustre/lnet/Kconfig | 2 +-
 fs/cifs/Kconfig                     | 2 +-
 net/9p/Kconfig                      | 2 +-
 net/rds/Kconfig                     | 2 +-
 net/sunrpc/Kconfig                  | 2 +-
 8 files changed, 8 insertions(+), 8 deletions(-)

diff --git a/drivers/infiniband/ulp/srpt/Kconfig b/drivers/infiniband/ulp/srpt/Kconfig
index 25bf6955b6d0..fb8b7182f05e 100644
--- a/drivers/infiniband/ulp/srpt/Kconfig
+++ b/drivers/infiniband/ulp/srpt/Kconfig
@@ -1,6 +1,6 @@
 config INFINIBAND_SRPT
 	tristate "InfiniBand SCSI RDMA Protocol target support"
-	depends on INFINIBAND_ADDR_TRANS && TARGET_CORE
+	depends on INFINIBAND && INFINIBAND_ADDR_TRANS && TARGET_CORE
 	---help---
 
 	  Support for the SCSI RDMA Protocol (SRP) Target driver. The
diff --git a/drivers/nvme/host/Kconfig b/drivers/nvme/host/Kconfig
index dbb7464c018c..88a8b5916624 100644
--- a/drivers/nvme/host/Kconfig
+++ b/drivers/nvme/host/Kconfig
@@ -27,7 +27,7 @@ config NVME_FABRICS
 
 config NVME_RDMA
 	tristate "NVM Express over Fabrics RDMA host driver"
-	depends on INFINIBAND_ADDR_TRANS && BLOCK
+	depends on INFINIBAND && INFINIBAND_ADDR_TRANS && BLOCK
 	select NVME_CORE
 	select NVME_FABRICS
 	select SG_POOL
diff --git a/drivers/nvme/target/Kconfig b/drivers/nvme/target/Kconfig
index 7595664ee753..3c7b61ddb0d1 100644
--- a/drivers/nvme/target/Kconfig
+++ b/drivers/nvme/target/Kconfig
@@ -27,7 +27,7 @@ config NVME_TARGET_LOOP
 
 config NVME_TARGET_RDMA
 	tristate "NVMe over Fabrics RDMA target support"
-	depends on INFINIBAND_ADDR_TRANS
+	depends on INFINIBAND && INFINIBAND_ADDR_TRANS
 	depends on NVME_TARGET
 	select SGL_ALLOC
 	help
diff --git a/drivers/staging/lustre/lnet/Kconfig b/drivers/staging/lustre/lnet/Kconfig
index f3b1ad4bd3dc..ad049e6f24e4 100644
--- a/drivers/staging/lustre/lnet/Kconfig
+++ b/drivers/staging/lustre/lnet/Kconfig
@@ -34,7 +34,7 @@ config LNET_SELFTEST
 
 config LNET_XPRT_IB
 	tristate "LNET infiniband support"
-	depends on LNET && PCI && INFINIBAND_ADDR_TRANS
+	depends on LNET && PCI && INFINIBAND && INFINIBAND_ADDR_TRANS
 	default LNET && INFINIBAND
 	help
 	  This option allows the LNET users to use infiniband as an
diff --git a/fs/cifs/Kconfig b/fs/cifs/Kconfig
index d61e2de8d0eb..5f132d59dfc2 100644
--- a/fs/cifs/Kconfig
+++ b/fs/cifs/Kconfig
@@ -197,7 +197,7 @@ config CIFS_SMB311
 
 config CIFS_SMB_DIRECT
 	bool "SMB Direct support (Experimental)"
-	depends on CIFS=m && INFINIBAND_ADDR_TRANS || CIFS=y && INFINIBAND_ADDR_TRANS=y
+	depends on CIFS=m && INFINIBAND && INFINIBAND_ADDR_TRANS || CIFS=y && INFINIBAND=y && INFINIBAND_ADDR_TRANS=y
 	help
 	  Enables SMB Direct experimental support for SMB 3.0, 3.02 and 3.1.1.
 	  SMB Direct allows transferring SMB packets over RDMA. If unsure,
diff --git a/net/9p/Kconfig b/net/9p/Kconfig
index 46c39f7da444..e6014e0e51f7 100644
--- a/net/9p/Kconfig
+++ b/net/9p/Kconfig
@@ -32,7 +32,7 @@ config NET_9P_XEN
 
 
 config NET_9P_RDMA
-	depends on INET && INFINIBAND_ADDR_TRANS
+	depends on INET && INFINIBAND && INFINIBAND_ADDR_TRANS
 	tristate "9P RDMA Transport (Experimental)"
 	help
 	  This builds support for an RDMA transport.
diff --git a/net/rds/Kconfig b/net/rds/Kconfig
index 1a31502ee7db..bffde4b46c5d 100644
--- a/net/rds/Kconfig
+++ b/net/rds/Kconfig
@@ -8,7 +8,7 @@ config RDS
 
 config RDS_RDMA
 	tristate "RDS over Infiniband"
-	depends on RDS && INFINIBAND_ADDR_TRANS
+	depends on RDS && INFINIBAND && INFINIBAND_ADDR_TRANS
 	---help---
 	  Allow RDS to use Infiniband as a transport.
 	  This transport supports RDMA operations.
diff --git a/net/sunrpc/Kconfig b/net/sunrpc/Kconfig
index 6358e5271070..ac09ca803296 100644
--- a/net/sunrpc/Kconfig
+++ b/net/sunrpc/Kconfig
@@ -50,7 +50,7 @@ config SUNRPC_DEBUG
 
 config SUNRPC_XPRT_RDMA
 	tristate "RPC-over-RDMA transport"
-	depends on SUNRPC && INFINIBAND_ADDR_TRANS
+	depends on SUNRPC && INFINIBAND && INFINIBAND_ADDR_TRANS
 	default SUNRPC && INFINIBAND
 	select SG_POOL
 	help
-- 
2.9.0

^ permalink raw reply related	[flat|nested] 22+ messages in thread

* Re: [PATCH] IB: Revert "remove redundant INFINIBAND kconfig dependencies"
  2018-05-25 21:29 ` Arnd Bergmann
  (?)
  (?)
@ 2018-05-25 21:38   ` Leon Romanovsky
  -1 siblings, 0 replies; 22+ messages in thread
From: Leon Romanovsky @ 2018-05-25 21:38 UTC (permalink / raw)
  To: Arnd Bergmann
  Cc: Doug Ledford, Jason Gunthorpe, Keith Busch, Jens Axboe,
	Christoph Hellwig, Sagi Grimberg, Oleg Drokin, Andreas Dilger,
	James Simmons, Greg Kroah-Hartman, Steve French,
	Eric Van Hensbergen, Ron Minnich, Latchesar Ionkov,
	David S. Miller, Santosh Shilimkar, Trond Myklebust,
	Anna Schumaker, J. Bruce Fields, Jeff Layton

[-- Attachment #1: Type: text/plain, Size: 1246 bytes --]

On Fri, May 25, 2018 at 11:29:59PM +0200, Arnd Bergmann wrote:
> Several subsystems depend on INFINIBAND_ADDR_TRANS, which in turn depends
> on INFINIBAND. However, when with CONFIG_INIFIBAND=m, this leads to a
> link error when another driver using it is built-in. The
> INFINIBAND_ADDR_TRANS dependency is insufficient here as this is
> a 'bool' symbol that does not force anything to be a module in turn.
>
> fs/cifs/smbdirect.o: In function `smbd_disconnect_rdma_work':
> smbdirect.c:(.text+0x1e4): undefined reference to `rdma_disconnect'
> net/9p/trans_rdma.o: In function `rdma_request':
> trans_rdma.c:(.text+0x7bc): undefined reference to `rdma_disconnect'
> net/9p/trans_rdma.o: In function `rdma_destroy_trans':
> trans_rdma.c:(.text+0x830): undefined reference to `ib_destroy_qp'
> trans_rdma.c:(.text+0x858): undefined reference to `ib_dealloc_pd'
>
> Fixes: 9533b292a7ac ("IB: remove redundant INFINIBAND kconfig dependencies")
> Signed-off-by: Arnd Bergmann <arnd@arndb.de>
> ---
> The patch that introduced the problem has been queued in the
> rdma-fixes/for-rc tree. Please revert the patch before sending
> the branch to Linus.
> ---

It was already sent to Linus.

https://marc.info/?l=linux-rdma&m=152719509803047&w=2

Thanks

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 801 bytes --]

^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: [PATCH] IB: Revert "remove redundant INFINIBAND kconfig dependencies"
@ 2018-05-25 21:38   ` Leon Romanovsky
  0 siblings, 0 replies; 22+ messages in thread
From: Leon Romanovsky @ 2018-05-25 21:38 UTC (permalink / raw)
  To: Arnd Bergmann
  Cc: Doug Ledford, Jason Gunthorpe, Keith Busch, Jens Axboe,
	Christoph Hellwig, Sagi Grimberg, Oleg Drokin, Andreas Dilger,
	James Simmons, Greg Kroah-Hartman, Steve French,
	Eric Van Hensbergen, Ron Minnich, Latchesar Ionkov,
	David S. Miller, Santosh Shilimkar, Trond Myklebust,
	Anna Schumaker, J. Bruce Fields, Jeff Layton

[-- Attachment #1: Type: text/plain, Size: 1246 bytes --]

On Fri, May 25, 2018 at 11:29:59PM +0200, Arnd Bergmann wrote:
> Several subsystems depend on INFINIBAND_ADDR_TRANS, which in turn depends
> on INFINIBAND. However, when with CONFIG_INIFIBAND=m, this leads to a
> link error when another driver using it is built-in. The
> INFINIBAND_ADDR_TRANS dependency is insufficient here as this is
> a 'bool' symbol that does not force anything to be a module in turn.
>
> fs/cifs/smbdirect.o: In function `smbd_disconnect_rdma_work':
> smbdirect.c:(.text+0x1e4): undefined reference to `rdma_disconnect'
> net/9p/trans_rdma.o: In function `rdma_request':
> trans_rdma.c:(.text+0x7bc): undefined reference to `rdma_disconnect'
> net/9p/trans_rdma.o: In function `rdma_destroy_trans':
> trans_rdma.c:(.text+0x830): undefined reference to `ib_destroy_qp'
> trans_rdma.c:(.text+0x858): undefined reference to `ib_dealloc_pd'
>
> Fixes: 9533b292a7ac ("IB: remove redundant INFINIBAND kconfig dependencies")
> Signed-off-by: Arnd Bergmann <arnd@arndb.de>
> ---
> The patch that introduced the problem has been queued in the
> rdma-fixes/for-rc tree. Please revert the patch before sending
> the branch to Linus.
> ---

It was already sent to Linus.

https://marc.info/?l=linux-rdma&m=152719509803047&w=2

Thanks

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 801 bytes --]

^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: [PATCH] IB: Revert "remove redundant INFINIBAND kconfig dependencies"
@ 2018-05-25 21:38   ` Leon Romanovsky
  0 siblings, 0 replies; 22+ messages in thread
From: Leon Romanovsky @ 2018-05-25 21:38 UTC (permalink / raw)
  To: Arnd Bergmann
  Cc: Doug Ledford, Jason Gunthorpe, Keith Busch, Jens Axboe,
	Christoph Hellwig, Sagi Grimberg, Oleg Drokin, Andreas Dilger,
	James Simmons, Greg Kroah-Hartman, Steve French,
	Eric Van Hensbergen, Ron Minnich, Latchesar Ionkov,
	David S. Miller, Santosh Shilimkar, Trond Myklebust,
	Anna Schumaker, J. Bruce Fields, Jeff Layton, Greg Thelen,
	Bart Van Assche, linux-rdma, linux-kernel, linux-nvme,
	lustre-devel, devel, linux-cifs, samba-technical, v9fs-developer,
	netdev, rds-devel, linux-nfs

[-- Attachment #1: Type: text/plain, Size: 1246 bytes --]

On Fri, May 25, 2018 at 11:29:59PM +0200, Arnd Bergmann wrote:
> Several subsystems depend on INFINIBAND_ADDR_TRANS, which in turn depends
> on INFINIBAND. However, when with CONFIG_INIFIBAND=m, this leads to a
> link error when another driver using it is built-in. The
> INFINIBAND_ADDR_TRANS dependency is insufficient here as this is
> a 'bool' symbol that does not force anything to be a module in turn.
>
> fs/cifs/smbdirect.o: In function `smbd_disconnect_rdma_work':
> smbdirect.c:(.text+0x1e4): undefined reference to `rdma_disconnect'
> net/9p/trans_rdma.o: In function `rdma_request':
> trans_rdma.c:(.text+0x7bc): undefined reference to `rdma_disconnect'
> net/9p/trans_rdma.o: In function `rdma_destroy_trans':
> trans_rdma.c:(.text+0x830): undefined reference to `ib_destroy_qp'
> trans_rdma.c:(.text+0x858): undefined reference to `ib_dealloc_pd'
>
> Fixes: 9533b292a7ac ("IB: remove redundant INFINIBAND kconfig dependencies")
> Signed-off-by: Arnd Bergmann <arnd@arndb.de>
> ---
> The patch that introduced the problem has been queued in the
> rdma-fixes/for-rc tree. Please revert the patch before sending
> the branch to Linus.
> ---

It was already sent to Linus.

https://marc.info/?l=linux-rdma&m=152719509803047&w=2

Thanks

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 801 bytes --]

^ permalink raw reply	[flat|nested] 22+ messages in thread

* [lustre-devel] [PATCH] IB: Revert "remove redundant INFINIBAND kconfig dependencies"
@ 2018-05-25 21:38   ` Leon Romanovsky
  0 siblings, 0 replies; 22+ messages in thread
From: Leon Romanovsky @ 2018-05-25 21:38 UTC (permalink / raw)
  To: Arnd Bergmann
  Cc: Doug Ledford, Jason Gunthorpe, Keith Busch, Jens Axboe,
	Christoph Hellwig, Sagi Grimberg, Oleg Drokin, Andreas Dilger,
	James Simmons, Greg Kroah-Hartman, Steve French,
	Eric Van Hensbergen, Ron Minnich, Latchesar Ionkov,
	David S. Miller, Santosh Shilimkar, Trond Myklebust,
	Anna Schumaker, J. Bruce Fields, Jeff Layton

On Fri, May 25, 2018 at 11:29:59PM +0200, Arnd Bergmann wrote:
> Several subsystems depend on INFINIBAND_ADDR_TRANS, which in turn depends
> on INFINIBAND. However, when with CONFIG_INIFIBAND=m, this leads to a
> link error when another driver using it is built-in. The
> INFINIBAND_ADDR_TRANS dependency is insufficient here as this is
> a 'bool' symbol that does not force anything to be a module in turn.
>
> fs/cifs/smbdirect.o: In function `smbd_disconnect_rdma_work':
> smbdirect.c:(.text+0x1e4): undefined reference to `rdma_disconnect'
> net/9p/trans_rdma.o: In function `rdma_request':
> trans_rdma.c:(.text+0x7bc): undefined reference to `rdma_disconnect'
> net/9p/trans_rdma.o: In function `rdma_destroy_trans':
> trans_rdma.c:(.text+0x830): undefined reference to `ib_destroy_qp'
> trans_rdma.c:(.text+0x858): undefined reference to `ib_dealloc_pd'
>
> Fixes: 9533b292a7ac ("IB: remove redundant INFINIBAND kconfig dependencies")
> Signed-off-by: Arnd Bergmann <arnd@arndb.de>
> ---
> The patch that introduced the problem has been queued in the
> rdma-fixes/for-rc tree. Please revert the patch before sending
> the branch to Linus.
> ---

It was already sent to Linus.

https://marc.info/?l=linux-rdma&m=152719509803047&w=2

Thanks
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 801 bytes
Desc: not available
URL: <http://lists.lustre.org/pipermail/lustre-devel-lustre.org/attachments/20180526/7111b8aa/attachment.sig>

^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: [PATCH] IB: Revert "remove redundant INFINIBAND kconfig dependencies"
  2018-05-25 21:29 ` Arnd Bergmann
  (?)
  (?)
@ 2018-05-26  0:32   ` Greg Thelen
  -1 siblings, 0 replies; 22+ messages in thread
From: Greg Thelen @ 2018-05-26  0:32 UTC (permalink / raw)
  To: arnd
  Cc: Doug Ledford, Jason Gunthorpe, Keith Busch, Jens Axboe,
	Christoph Hellwig, Sagi Grimberg, oleg.drokin, andreas.dilger,
	jsimmons, gregkh, Steve French, ericvh, rminnich, lucho,
	David S. Miller, santosh.shilimkar, trond.myklebust,
	anna.schumaker, bfields, jlayton, Bart Van Assche, linux-rdma,
	LKML, linux-nvme, lustre-devel, devel, linux-cifs

On Fri, May 25, 2018 at 2:32 PM Arnd Bergmann <arnd@arndb.de> wrote:

> Several subsystems depend on INFINIBAND_ADDR_TRANS, which in turn depends
> on INFINIBAND. However, when with CONFIG_INIFIBAND=m, this leads to a
> link error when another driver using it is built-in. The
> INFINIBAND_ADDR_TRANS dependency is insufficient here as this is
> a 'bool' symbol that does not force anything to be a module in turn.

> fs/cifs/smbdirect.o: In function `smbd_disconnect_rdma_work':
> smbdirect.c:(.text+0x1e4): undefined reference to `rdma_disconnect'
> net/9p/trans_rdma.o: In function `rdma_request':
> trans_rdma.c:(.text+0x7bc): undefined reference to `rdma_disconnect'
> net/9p/trans_rdma.o: In function `rdma_destroy_trans':
> trans_rdma.c:(.text+0x830): undefined reference to `ib_destroy_qp'
> trans_rdma.c:(.text+0x858): undefined reference to `ib_dealloc_pd'

> Fixes: 9533b292a7ac ("IB: remove redundant INFINIBAND kconfig
dependencies")
> Signed-off-by: Arnd Bergmann <arnd@arndb.de>

Acked-by: Greg Thelen <gthelen@google.com>

Sorry for the 9533b292a7ac problem.
At this point the in release cycle, I think Arnd's revert is best.

If there is interest, I've put a little thought into an alternative fix:
making INFINIBAND_ADDR_TRANS tristate.  But it's nontrivial.
So I prefer this simple revert for now.

Doug: do you need anything from me on this?

> ---
> The patch that introduced the problem has been queued in the
> rdma-fixes/for-rc tree. Please revert the patch before sending
> the branch to Linus.
> ---
>     drivers/infiniband/ulp/srpt/Kconfig | 2 +-
>     drivers/nvme/host/Kconfig           | 2 +-
>     drivers/nvme/target/Kconfig         | 2 +-
>     drivers/staging/lustre/lnet/Kconfig | 2 +-
>     fs/cifs/Kconfig                     | 2 +-
>     net/9p/Kconfig                      | 2 +-
>     net/rds/Kconfig                     | 2 +-
>     net/sunrpc/Kconfig                  | 2 +-
>     8 files changed, 8 insertions(+), 8 deletions(-)

> diff --git a/drivers/infiniband/ulp/srpt/Kconfig
b/drivers/infiniband/ulp/srpt/Kconfig
> index 25bf6955b6d0..fb8b7182f05e 100644
> --- a/drivers/infiniband/ulp/srpt/Kconfig
> +++ b/drivers/infiniband/ulp/srpt/Kconfig
> @@ -1,6 +1,6 @@
>     config INFINIBAND_SRPT
>            tristate "InfiniBand SCSI RDMA Protocol target support"
> -       depends on INFINIBAND_ADDR_TRANS && TARGET_CORE
> +       depends on INFINIBAND && INFINIBAND_ADDR_TRANS && TARGET_CORE
>            ---help---

>              Support for the SCSI RDMA Protocol (SRP) Target driver. The
> diff --git a/drivers/nvme/host/Kconfig b/drivers/nvme/host/Kconfig
> index dbb7464c018c..88a8b5916624 100644
> --- a/drivers/nvme/host/Kconfig
> +++ b/drivers/nvme/host/Kconfig
> @@ -27,7 +27,7 @@ config NVME_FABRICS

>     config NVME_RDMA
>            tristate "NVM Express over Fabrics RDMA host driver"
> -       depends on INFINIBAND_ADDR_TRANS && BLOCK
> +       depends on INFINIBAND && INFINIBAND_ADDR_TRANS && BLOCK
>            select NVME_CORE
>            select NVME_FABRICS
>            select SG_POOL
> diff --git a/drivers/nvme/target/Kconfig b/drivers/nvme/target/Kconfig
> index 7595664ee753..3c7b61ddb0d1 100644
> --- a/drivers/nvme/target/Kconfig
> +++ b/drivers/nvme/target/Kconfig
> @@ -27,7 +27,7 @@ config NVME_TARGET_LOOP

>     config NVME_TARGET_RDMA
>            tristate "NVMe over Fabrics RDMA target support"
> -       depends on INFINIBAND_ADDR_TRANS
> +       depends on INFINIBAND && INFINIBAND_ADDR_TRANS
>            depends on NVME_TARGET
>            select SGL_ALLOC
>            help
> diff --git a/drivers/staging/lustre/lnet/Kconfig
b/drivers/staging/lustre/lnet/Kconfig
> index f3b1ad4bd3dc..ad049e6f24e4 100644
> --- a/drivers/staging/lustre/lnet/Kconfig
> +++ b/drivers/staging/lustre/lnet/Kconfig
> @@ -34,7 +34,7 @@ config LNET_SELFTEST

>     config LNET_XPRT_IB
>            tristate "LNET infiniband support"
> -       depends on LNET && PCI && INFINIBAND_ADDR_TRANS
> +       depends on LNET && PCI && INFINIBAND && INFINIBAND_ADDR_TRANS
>            default LNET && INFINIBAND
>            help
>              This option allows the LNET users to use infiniband as an
> diff --git a/fs/cifs/Kconfig b/fs/cifs/Kconfig
> index d61e2de8d0eb..5f132d59dfc2 100644
> --- a/fs/cifs/Kconfig
> +++ b/fs/cifs/Kconfig
> @@ -197,7 +197,7 @@ config CIFS_SMB311

>     config CIFS_SMB_DIRECT
>            bool "SMB Direct support (Experimental)"
> -       depends on CIFS=m && INFINIBAND_ADDR_TRANS || CIFS=y &&
INFINIBAND_ADDR_TRANS=y
> +       depends on CIFS=m && INFINIBAND && INFINIBAND_ADDR_TRANS ||
CIFS=y && INFINIBAND=y && INFINIBAND_ADDR_TRANS=y
>            help
>              Enables SMB Direct experimental support for SMB 3.0, 3.02 and
3.1.1.
>              SMB Direct allows transferring SMB packets over RDMA. If
unsure,
> diff --git a/net/9p/Kconfig b/net/9p/Kconfig
> index 46c39f7da444..e6014e0e51f7 100644
> --- a/net/9p/Kconfig
> +++ b/net/9p/Kconfig
> @@ -32,7 +32,7 @@ config NET_9P_XEN


>     config NET_9P_RDMA
> -       depends on INET && INFINIBAND_ADDR_TRANS
> +       depends on INET && INFINIBAND && INFINIBAND_ADDR_TRANS
>            tristate "9P RDMA Transport (Experimental)"
>            help
>              This builds support for an RDMA transport.
> diff --git a/net/rds/Kconfig b/net/rds/Kconfig
> index 1a31502ee7db..bffde4b46c5d 100644
> --- a/net/rds/Kconfig
> +++ b/net/rds/Kconfig
> @@ -8,7 +8,7 @@ config RDS

>     config RDS_RDMA
>            tristate "RDS over Infiniband"
> -       depends on RDS && INFINIBAND_ADDR_TRANS
> +       depends on RDS && INFINIBAND && INFINIBAND_ADDR_TRANS
>            ---help---
>              Allow RDS to use Infiniband as a transport.
>              This transport supports RDMA operations.
> diff --git a/net/sunrpc/Kconfig b/net/sunrpc/Kconfig
> index 6358e5271070..ac09ca803296 100644
> --- a/net/sunrpc/Kconfig
> +++ b/net/sunrpc/Kconfig
> @@ -50,7 +50,7 @@ config SUNRPC_DEBUG

>     config SUNRPC_XPRT_RDMA
>            tristate "RPC-over-RDMA transport"
> -       depends on SUNRPC && INFINIBAND_ADDR_TRANS
> +       depends on SUNRPC && INFINIBAND && INFINIBAND_ADDR_TRANS
>            default SUNRPC && INFINIBAND
>            select SG_POOL
>            help
> --
> 2.9.0

^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: [PATCH] IB: Revert "remove redundant INFINIBAND kconfig dependencies"
@ 2018-05-26  0:32   ` Greg Thelen
  0 siblings, 0 replies; 22+ messages in thread
From: Greg Thelen @ 2018-05-26  0:32 UTC (permalink / raw)
  To: arnd
  Cc: Doug Ledford, Jason Gunthorpe, Keith Busch, Jens Axboe,
	Christoph Hellwig, Sagi Grimberg, oleg.drokin, andreas.dilger,
	jsimmons, gregkh, Steve French, ericvh, rminnich, lucho,
	David S. Miller, santosh.shilimkar, trond.myklebust,
	anna.schumaker, bfields, jlayton, Bart Van Assche, linux-rdma,
	LKML, linux-nvme, lustre-devel, devel, linux-cifs

On Fri, May 25, 2018 at 2:32 PM Arnd Bergmann <arnd@arndb.de> wrote:

> Several subsystems depend on INFINIBAND_ADDR_TRANS, which in turn depends
> on INFINIBAND. However, when with CONFIG_INIFIBAND=m, this leads to a
> link error when another driver using it is built-in. The
> INFINIBAND_ADDR_TRANS dependency is insufficient here as this is
> a 'bool' symbol that does not force anything to be a module in turn.

> fs/cifs/smbdirect.o: In function `smbd_disconnect_rdma_work':
> smbdirect.c:(.text+0x1e4): undefined reference to `rdma_disconnect'
> net/9p/trans_rdma.o: In function `rdma_request':
> trans_rdma.c:(.text+0x7bc): undefined reference to `rdma_disconnect'
> net/9p/trans_rdma.o: In function `rdma_destroy_trans':
> trans_rdma.c:(.text+0x830): undefined reference to `ib_destroy_qp'
> trans_rdma.c:(.text+0x858): undefined reference to `ib_dealloc_pd'

> Fixes: 9533b292a7ac ("IB: remove redundant INFINIBAND kconfig
dependencies")
> Signed-off-by: Arnd Bergmann <arnd@arndb.de>

Acked-by: Greg Thelen <gthelen@google.com>

Sorry for the 9533b292a7ac problem.
At this point the in release cycle, I think Arnd's revert is best.

If there is interest, I've put a little thought into an alternative fix:
making INFINIBAND_ADDR_TRANS tristate.  But it's nontrivial.
So I prefer this simple revert for now.

Doug: do you need anything from me on this?

> ---
> The patch that introduced the problem has been queued in the
> rdma-fixes/for-rc tree. Please revert the patch before sending
> the branch to Linus.
> ---
>     drivers/infiniband/ulp/srpt/Kconfig | 2 +-
>     drivers/nvme/host/Kconfig           | 2 +-
>     drivers/nvme/target/Kconfig         | 2 +-
>     drivers/staging/lustre/lnet/Kconfig | 2 +-
>     fs/cifs/Kconfig                     | 2 +-
>     net/9p/Kconfig                      | 2 +-
>     net/rds/Kconfig                     | 2 +-
>     net/sunrpc/Kconfig                  | 2 +-
>     8 files changed, 8 insertions(+), 8 deletions(-)

> diff --git a/drivers/infiniband/ulp/srpt/Kconfig
b/drivers/infiniband/ulp/srpt/Kconfig
> index 25bf6955b6d0..fb8b7182f05e 100644
> --- a/drivers/infiniband/ulp/srpt/Kconfig
> +++ b/drivers/infiniband/ulp/srpt/Kconfig
> @@ -1,6 +1,6 @@
>     config INFINIBAND_SRPT
>            tristate "InfiniBand SCSI RDMA Protocol target support"
> -       depends on INFINIBAND_ADDR_TRANS && TARGET_CORE
> +       depends on INFINIBAND && INFINIBAND_ADDR_TRANS && TARGET_CORE
>            ---help---

>              Support for the SCSI RDMA Protocol (SRP) Target driver. The
> diff --git a/drivers/nvme/host/Kconfig b/drivers/nvme/host/Kconfig
> index dbb7464c018c..88a8b5916624 100644
> --- a/drivers/nvme/host/Kconfig
> +++ b/drivers/nvme/host/Kconfig
> @@ -27,7 +27,7 @@ config NVME_FABRICS

>     config NVME_RDMA
>            tristate "NVM Express over Fabrics RDMA host driver"
> -       depends on INFINIBAND_ADDR_TRANS && BLOCK
> +       depends on INFINIBAND && INFINIBAND_ADDR_TRANS && BLOCK
>            select NVME_CORE
>            select NVME_FABRICS
>            select SG_POOL
> diff --git a/drivers/nvme/target/Kconfig b/drivers/nvme/target/Kconfig
> index 7595664ee753..3c7b61ddb0d1 100644
> --- a/drivers/nvme/target/Kconfig
> +++ b/drivers/nvme/target/Kconfig
> @@ -27,7 +27,7 @@ config NVME_TARGET_LOOP

>     config NVME_TARGET_RDMA
>            tristate "NVMe over Fabrics RDMA target support"
> -       depends on INFINIBAND_ADDR_TRANS
> +       depends on INFINIBAND && INFINIBAND_ADDR_TRANS
>            depends on NVME_TARGET
>            select SGL_ALLOC
>            help
> diff --git a/drivers/staging/lustre/lnet/Kconfig
b/drivers/staging/lustre/lnet/Kconfig
> index f3b1ad4bd3dc..ad049e6f24e4 100644
> --- a/drivers/staging/lustre/lnet/Kconfig
> +++ b/drivers/staging/lustre/lnet/Kconfig
> @@ -34,7 +34,7 @@ config LNET_SELFTEST

>     config LNET_XPRT_IB
>            tristate "LNET infiniband support"
> -       depends on LNET && PCI && INFINIBAND_ADDR_TRANS
> +       depends on LNET && PCI && INFINIBAND && INFINIBAND_ADDR_TRANS
>            default LNET && INFINIBAND
>            help
>              This option allows the LNET users to use infiniband as an
> diff --git a/fs/cifs/Kconfig b/fs/cifs/Kconfig
> index d61e2de8d0eb..5f132d59dfc2 100644
> --- a/fs/cifs/Kconfig
> +++ b/fs/cifs/Kconfig
> @@ -197,7 +197,7 @@ config CIFS_SMB311

>     config CIFS_SMB_DIRECT
>            bool "SMB Direct support (Experimental)"
> -       depends on CIFS=m && INFINIBAND_ADDR_TRANS || CIFS=y &&
INFINIBAND_ADDR_TRANS=y
> +       depends on CIFS=m && INFINIBAND && INFINIBAND_ADDR_TRANS ||
CIFS=y && INFINIBAND=y && INFINIBAND_ADDR_TRANS=y
>            help
>              Enables SMB Direct experimental support for SMB 3.0, 3.02 and
3.1.1.
>              SMB Direct allows transferring SMB packets over RDMA. If
unsure,
> diff --git a/net/9p/Kconfig b/net/9p/Kconfig
> index 46c39f7da444..e6014e0e51f7 100644
> --- a/net/9p/Kconfig
> +++ b/net/9p/Kconfig
> @@ -32,7 +32,7 @@ config NET_9P_XEN


>     config NET_9P_RDMA
> -       depends on INET && INFINIBAND_ADDR_TRANS
> +       depends on INET && INFINIBAND && INFINIBAND_ADDR_TRANS
>            tristate "9P RDMA Transport (Experimental)"
>            help
>              This builds support for an RDMA transport.
> diff --git a/net/rds/Kconfig b/net/rds/Kconfig
> index 1a31502ee7db..bffde4b46c5d 100644
> --- a/net/rds/Kconfig
> +++ b/net/rds/Kconfig
> @@ -8,7 +8,7 @@ config RDS

>     config RDS_RDMA
>            tristate "RDS over Infiniband"
> -       depends on RDS && INFINIBAND_ADDR_TRANS
> +       depends on RDS && INFINIBAND && INFINIBAND_ADDR_TRANS
>            ---help---
>              Allow RDS to use Infiniband as a transport.
>              This transport supports RDMA operations.
> diff --git a/net/sunrpc/Kconfig b/net/sunrpc/Kconfig
> index 6358e5271070..ac09ca803296 100644
> --- a/net/sunrpc/Kconfig
> +++ b/net/sunrpc/Kconfig
> @@ -50,7 +50,7 @@ config SUNRPC_DEBUG

>     config SUNRPC_XPRT_RDMA
>            tristate "RPC-over-RDMA transport"
> -       depends on SUNRPC && INFINIBAND_ADDR_TRANS
> +       depends on SUNRPC && INFINIBAND && INFINIBAND_ADDR_TRANS
>            default SUNRPC && INFINIBAND
>            select SG_POOL
>            help
> --
> 2.9.0

^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: [PATCH] IB: Revert "remove redundant INFINIBAND kconfig dependencies"
@ 2018-05-26  0:32   ` Greg Thelen
  0 siblings, 0 replies; 22+ messages in thread
From: Greg Thelen @ 2018-05-26  0:32 UTC (permalink / raw)
  To: arnd
  Cc: Doug Ledford, Jason Gunthorpe, Keith Busch, Jens Axboe,
	Christoph Hellwig, Sagi Grimberg, oleg.drokin, andreas.dilger,
	jsimmons, gregkh, Steve French, ericvh, rminnich, lucho,
	David S. Miller, santosh.shilimkar, trond.myklebust,
	anna.schumaker, bfields, jlayton, Bart Van Assche, linux-rdma,
	LKML, linux-nvme, lustre-devel, devel, linux-cifs,
	samba-technical, v9fs-developer, netdev, rds-devel, linux-nfs

On Fri, May 25, 2018 at 2:32 PM Arnd Bergmann <arnd@arndb.de> wrote:

> Several subsystems depend on INFINIBAND_ADDR_TRANS, which in turn depends
> on INFINIBAND. However, when with CONFIG_INIFIBAND=m, this leads to a
> link error when another driver using it is built-in. The
> INFINIBAND_ADDR_TRANS dependency is insufficient here as this is
> a 'bool' symbol that does not force anything to be a module in turn.

> fs/cifs/smbdirect.o: In function `smbd_disconnect_rdma_work':
> smbdirect.c:(.text+0x1e4): undefined reference to `rdma_disconnect'
> net/9p/trans_rdma.o: In function `rdma_request':
> trans_rdma.c:(.text+0x7bc): undefined reference to `rdma_disconnect'
> net/9p/trans_rdma.o: In function `rdma_destroy_trans':
> trans_rdma.c:(.text+0x830): undefined reference to `ib_destroy_qp'
> trans_rdma.c:(.text+0x858): undefined reference to `ib_dealloc_pd'

> Fixes: 9533b292a7ac ("IB: remove redundant INFINIBAND kconfig
dependencies")
> Signed-off-by: Arnd Bergmann <arnd@arndb.de>

Acked-by: Greg Thelen <gthelen@google.com>

Sorry for the 9533b292a7ac problem.
At this point the in release cycle, I think Arnd's revert is best.

If there is interest, I've put a little thought into an alternative fix:
making INFINIBAND_ADDR_TRANS tristate.  But it's nontrivial.
So I prefer this simple revert for now.

Doug: do you need anything from me on this?

> ---
> The patch that introduced the problem has been queued in the
> rdma-fixes/for-rc tree. Please revert the patch before sending
> the branch to Linus.
> ---
>     drivers/infiniband/ulp/srpt/Kconfig | 2 +-
>     drivers/nvme/host/Kconfig           | 2 +-
>     drivers/nvme/target/Kconfig         | 2 +-
>     drivers/staging/lustre/lnet/Kconfig | 2 +-
>     fs/cifs/Kconfig                     | 2 +-
>     net/9p/Kconfig                      | 2 +-
>     net/rds/Kconfig                     | 2 +-
>     net/sunrpc/Kconfig                  | 2 +-
>     8 files changed, 8 insertions(+), 8 deletions(-)

> diff --git a/drivers/infiniband/ulp/srpt/Kconfig
b/drivers/infiniband/ulp/srpt/Kconfig
> index 25bf6955b6d0..fb8b7182f05e 100644
> --- a/drivers/infiniband/ulp/srpt/Kconfig
> +++ b/drivers/infiniband/ulp/srpt/Kconfig
> @@ -1,6 +1,6 @@
>     config INFINIBAND_SRPT
>            tristate "InfiniBand SCSI RDMA Protocol target support"
> -       depends on INFINIBAND_ADDR_TRANS && TARGET_CORE
> +       depends on INFINIBAND && INFINIBAND_ADDR_TRANS && TARGET_CORE
>            ---help---

>              Support for the SCSI RDMA Protocol (SRP) Target driver. The
> diff --git a/drivers/nvme/host/Kconfig b/drivers/nvme/host/Kconfig
> index dbb7464c018c..88a8b5916624 100644
> --- a/drivers/nvme/host/Kconfig
> +++ b/drivers/nvme/host/Kconfig
> @@ -27,7 +27,7 @@ config NVME_FABRICS

>     config NVME_RDMA
>            tristate "NVM Express over Fabrics RDMA host driver"
> -       depends on INFINIBAND_ADDR_TRANS && BLOCK
> +       depends on INFINIBAND && INFINIBAND_ADDR_TRANS && BLOCK
>            select NVME_CORE
>            select NVME_FABRICS
>            select SG_POOL
> diff --git a/drivers/nvme/target/Kconfig b/drivers/nvme/target/Kconfig
> index 7595664ee753..3c7b61ddb0d1 100644
> --- a/drivers/nvme/target/Kconfig
> +++ b/drivers/nvme/target/Kconfig
> @@ -27,7 +27,7 @@ config NVME_TARGET_LOOP

>     config NVME_TARGET_RDMA
>            tristate "NVMe over Fabrics RDMA target support"
> -       depends on INFINIBAND_ADDR_TRANS
> +       depends on INFINIBAND && INFINIBAND_ADDR_TRANS
>            depends on NVME_TARGET
>            select SGL_ALLOC
>            help
> diff --git a/drivers/staging/lustre/lnet/Kconfig
b/drivers/staging/lustre/lnet/Kconfig
> index f3b1ad4bd3dc..ad049e6f24e4 100644
> --- a/drivers/staging/lustre/lnet/Kconfig
> +++ b/drivers/staging/lustre/lnet/Kconfig
> @@ -34,7 +34,7 @@ config LNET_SELFTEST

>     config LNET_XPRT_IB
>            tristate "LNET infiniband support"
> -       depends on LNET && PCI && INFINIBAND_ADDR_TRANS
> +       depends on LNET && PCI && INFINIBAND && INFINIBAND_ADDR_TRANS
>            default LNET && INFINIBAND
>            help
>              This option allows the LNET users to use infiniband as an
> diff --git a/fs/cifs/Kconfig b/fs/cifs/Kconfig
> index d61e2de8d0eb..5f132d59dfc2 100644
> --- a/fs/cifs/Kconfig
> +++ b/fs/cifs/Kconfig
> @@ -197,7 +197,7 @@ config CIFS_SMB311

>     config CIFS_SMB_DIRECT
>            bool "SMB Direct support (Experimental)"
> -       depends on CIFS=m && INFINIBAND_ADDR_TRANS || CIFS=y &&
INFINIBAND_ADDR_TRANS=y
> +       depends on CIFS=m && INFINIBAND && INFINIBAND_ADDR_TRANS ||
CIFS=y && INFINIBAND=y && INFINIBAND_ADDR_TRANS=y
>            help
>              Enables SMB Direct experimental support for SMB 3.0, 3.02 and
3.1.1.
>              SMB Direct allows transferring SMB packets over RDMA. If
unsure,
> diff --git a/net/9p/Kconfig b/net/9p/Kconfig
> index 46c39f7da444..e6014e0e51f7 100644
> --- a/net/9p/Kconfig
> +++ b/net/9p/Kconfig
> @@ -32,7 +32,7 @@ config NET_9P_XEN


>     config NET_9P_RDMA
> -       depends on INET && INFINIBAND_ADDR_TRANS
> +       depends on INET && INFINIBAND && INFINIBAND_ADDR_TRANS
>            tristate "9P RDMA Transport (Experimental)"
>            help
>              This builds support for an RDMA transport.
> diff --git a/net/rds/Kconfig b/net/rds/Kconfig
> index 1a31502ee7db..bffde4b46c5d 100644
> --- a/net/rds/Kconfig
> +++ b/net/rds/Kconfig
> @@ -8,7 +8,7 @@ config RDS

>     config RDS_RDMA
>            tristate "RDS over Infiniband"
> -       depends on RDS && INFINIBAND_ADDR_TRANS
> +       depends on RDS && INFINIBAND && INFINIBAND_ADDR_TRANS
>            ---help---
>              Allow RDS to use Infiniband as a transport.
>              This transport supports RDMA operations.
> diff --git a/net/sunrpc/Kconfig b/net/sunrpc/Kconfig
> index 6358e5271070..ac09ca803296 100644
> --- a/net/sunrpc/Kconfig
> +++ b/net/sunrpc/Kconfig
> @@ -50,7 +50,7 @@ config SUNRPC_DEBUG

>     config SUNRPC_XPRT_RDMA
>            tristate "RPC-over-RDMA transport"
> -       depends on SUNRPC && INFINIBAND_ADDR_TRANS
> +       depends on SUNRPC && INFINIBAND && INFINIBAND_ADDR_TRANS
>            default SUNRPC && INFINIBAND
>            select SG_POOL
>            help
> --
> 2.9.0

^ permalink raw reply	[flat|nested] 22+ messages in thread

* [lustre-devel] [PATCH] IB: Revert "remove redundant INFINIBAND kconfig dependencies"
@ 2018-05-26  0:32   ` Greg Thelen
  0 siblings, 0 replies; 22+ messages in thread
From: Greg Thelen @ 2018-05-26  0:32 UTC (permalink / raw)
  To: arnd
  Cc: Doug Ledford, Jason Gunthorpe, Keith Busch, Jens Axboe,
	Christoph Hellwig, Sagi Grimberg, oleg.drokin, andreas.dilger,
	jsimmons, gregkh, Steve French, ericvh, rminnich, lucho,
	David S. Miller, santosh.shilimkar, trond.myklebust,
	anna.schumaker, bfields, jlayton, Bart Van Assche, linux-rdma,
	LKML, linux-nvme, lustre-devel, devel, linux-cifs

On Fri, May 25, 2018 at 2:32 PM Arnd Bergmann <arnd@arndb.de> wrote:

> Several subsystems depend on INFINIBAND_ADDR_TRANS, which in turn depends
> on INFINIBAND. However, when with CONFIG_INIFIBAND=m, this leads to a
> link error when another driver using it is built-in. The
> INFINIBAND_ADDR_TRANS dependency is insufficient here as this is
> a 'bool' symbol that does not force anything to be a module in turn.

> fs/cifs/smbdirect.o: In function `smbd_disconnect_rdma_work':
> smbdirect.c:(.text+0x1e4): undefined reference to `rdma_disconnect'
> net/9p/trans_rdma.o: In function `rdma_request':
> trans_rdma.c:(.text+0x7bc): undefined reference to `rdma_disconnect'
> net/9p/trans_rdma.o: In function `rdma_destroy_trans':
> trans_rdma.c:(.text+0x830): undefined reference to `ib_destroy_qp'
> trans_rdma.c:(.text+0x858): undefined reference to `ib_dealloc_pd'

> Fixes: 9533b292a7ac ("IB: remove redundant INFINIBAND kconfig
dependencies")
> Signed-off-by: Arnd Bergmann <arnd@arndb.de>

Acked-by: Greg Thelen <gthelen@google.com>

Sorry for the 9533b292a7ac problem.
At this point the in release cycle, I think Arnd's revert is best.

If there is interest, I've put a little thought into an alternative fix:
making INFINIBAND_ADDR_TRANS tristate.  But it's nontrivial.
So I prefer this simple revert for now.

Doug: do you need anything from me on this?

> ---
> The patch that introduced the problem has been queued in the
> rdma-fixes/for-rc tree. Please revert the patch before sending
> the branch to Linus.
> ---
>     drivers/infiniband/ulp/srpt/Kconfig | 2 +-
>     drivers/nvme/host/Kconfig           | 2 +-
>     drivers/nvme/target/Kconfig         | 2 +-
>     drivers/staging/lustre/lnet/Kconfig | 2 +-
>     fs/cifs/Kconfig                     | 2 +-
>     net/9p/Kconfig                      | 2 +-
>     net/rds/Kconfig                     | 2 +-
>     net/sunrpc/Kconfig                  | 2 +-
>     8 files changed, 8 insertions(+), 8 deletions(-)

> diff --git a/drivers/infiniband/ulp/srpt/Kconfig
b/drivers/infiniband/ulp/srpt/Kconfig
> index 25bf6955b6d0..fb8b7182f05e 100644
> --- a/drivers/infiniband/ulp/srpt/Kconfig
> +++ b/drivers/infiniband/ulp/srpt/Kconfig
> @@ -1,6 +1,6 @@
>     config INFINIBAND_SRPT
>            tristate "InfiniBand SCSI RDMA Protocol target support"
> -       depends on INFINIBAND_ADDR_TRANS && TARGET_CORE
> +       depends on INFINIBAND && INFINIBAND_ADDR_TRANS && TARGET_CORE
>            ---help---

>              Support for the SCSI RDMA Protocol (SRP) Target driver. The
> diff --git a/drivers/nvme/host/Kconfig b/drivers/nvme/host/Kconfig
> index dbb7464c018c..88a8b5916624 100644
> --- a/drivers/nvme/host/Kconfig
> +++ b/drivers/nvme/host/Kconfig
> @@ -27,7 +27,7 @@ config NVME_FABRICS

>     config NVME_RDMA
>            tristate "NVM Express over Fabrics RDMA host driver"
> -       depends on INFINIBAND_ADDR_TRANS && BLOCK
> +       depends on INFINIBAND && INFINIBAND_ADDR_TRANS && BLOCK
>            select NVME_CORE
>            select NVME_FABRICS
>            select SG_POOL
> diff --git a/drivers/nvme/target/Kconfig b/drivers/nvme/target/Kconfig
> index 7595664ee753..3c7b61ddb0d1 100644
> --- a/drivers/nvme/target/Kconfig
> +++ b/drivers/nvme/target/Kconfig
> @@ -27,7 +27,7 @@ config NVME_TARGET_LOOP

>     config NVME_TARGET_RDMA
>            tristate "NVMe over Fabrics RDMA target support"
> -       depends on INFINIBAND_ADDR_TRANS
> +       depends on INFINIBAND && INFINIBAND_ADDR_TRANS
>            depends on NVME_TARGET
>            select SGL_ALLOC
>            help
> diff --git a/drivers/staging/lustre/lnet/Kconfig
b/drivers/staging/lustre/lnet/Kconfig
> index f3b1ad4bd3dc..ad049e6f24e4 100644
> --- a/drivers/staging/lustre/lnet/Kconfig
> +++ b/drivers/staging/lustre/lnet/Kconfig
> @@ -34,7 +34,7 @@ config LNET_SELFTEST

>     config LNET_XPRT_IB
>            tristate "LNET infiniband support"
> -       depends on LNET && PCI && INFINIBAND_ADDR_TRANS
> +       depends on LNET && PCI && INFINIBAND && INFINIBAND_ADDR_TRANS
>            default LNET && INFINIBAND
>            help
>              This option allows the LNET users to use infiniband as an
> diff --git a/fs/cifs/Kconfig b/fs/cifs/Kconfig
> index d61e2de8d0eb..5f132d59dfc2 100644
> --- a/fs/cifs/Kconfig
> +++ b/fs/cifs/Kconfig
> @@ -197,7 +197,7 @@ config CIFS_SMB311

>     config CIFS_SMB_DIRECT
>            bool "SMB Direct support (Experimental)"
> -       depends on CIFS=m && INFINIBAND_ADDR_TRANS || CIFS=y &&
INFINIBAND_ADDR_TRANS=y
> +       depends on CIFS=m && INFINIBAND && INFINIBAND_ADDR_TRANS ||
CIFS=y && INFINIBAND=y && INFINIBAND_ADDR_TRANS=y
>            help
>              Enables SMB Direct experimental support for SMB 3.0, 3.02 and
3.1.1.
>              SMB Direct allows transferring SMB packets over RDMA. If
unsure,
> diff --git a/net/9p/Kconfig b/net/9p/Kconfig
> index 46c39f7da444..e6014e0e51f7 100644
> --- a/net/9p/Kconfig
> +++ b/net/9p/Kconfig
> @@ -32,7 +32,7 @@ config NET_9P_XEN


>     config NET_9P_RDMA
> -       depends on INET && INFINIBAND_ADDR_TRANS
> +       depends on INET && INFINIBAND && INFINIBAND_ADDR_TRANS
>            tristate "9P RDMA Transport (Experimental)"
>            help
>              This builds support for an RDMA transport.
> diff --git a/net/rds/Kconfig b/net/rds/Kconfig
> index 1a31502ee7db..bffde4b46c5d 100644
> --- a/net/rds/Kconfig
> +++ b/net/rds/Kconfig
> @@ -8,7 +8,7 @@ config RDS

>     config RDS_RDMA
>            tristate "RDS over Infiniband"
> -       depends on RDS && INFINIBAND_ADDR_TRANS
> +       depends on RDS && INFINIBAND && INFINIBAND_ADDR_TRANS
>            ---help---
>              Allow RDS to use Infiniband as a transport.
>              This transport supports RDMA operations.
> diff --git a/net/sunrpc/Kconfig b/net/sunrpc/Kconfig
> index 6358e5271070..ac09ca803296 100644
> --- a/net/sunrpc/Kconfig
> +++ b/net/sunrpc/Kconfig
> @@ -50,7 +50,7 @@ config SUNRPC_DEBUG

>     config SUNRPC_XPRT_RDMA
>            tristate "RPC-over-RDMA transport"
> -       depends on SUNRPC && INFINIBAND_ADDR_TRANS
> +       depends on SUNRPC && INFINIBAND && INFINIBAND_ADDR_TRANS
>            default SUNRPC && INFINIBAND
>            select SG_POOL
>            help
> --
> 2.9.0

^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: [PATCH] IB: Revert "remove redundant INFINIBAND kconfig dependencies"
  2018-05-26  0:32   ` Greg Thelen
  (?)
@ 2018-05-28 16:39     ` Jason Gunthorpe
  -1 siblings, 0 replies; 22+ messages in thread
From: Jason Gunthorpe @ 2018-05-28 16:39 UTC (permalink / raw)
  To: Greg Thelen
  Cc: arnd, Doug Ledford, Keith Busch, Jens Axboe, Christoph Hellwig,
	Sagi Grimberg, oleg.drokin, andreas.dilger, jsimmons, gregkh,
	Steve French, ericvh, rminnich, lucho, David S. Miller,
	santosh.shilimkar, trond.myklebust, anna.schumaker, bfields,
	jlayton, Bart Van Assche, linux-rdma, LKML, linux-nvme,
	lustre-devel, devel, linux-cifs, samba-techni

On Fri, May 25, 2018 at 05:32:52PM -0700, Greg Thelen wrote:
> On Fri, May 25, 2018 at 2:32 PM Arnd Bergmann <arnd@arndb.de> wrote:
> 
> > Several subsystems depend on INFINIBAND_ADDR_TRANS, which in turn depends
> > on INFINIBAND. However, when with CONFIG_INIFIBAND=m, this leads to a
> > link error when another driver using it is built-in. The
> > INFINIBAND_ADDR_TRANS dependency is insufficient here as this is
> > a 'bool' symbol that does not force anything to be a module in turn.
> 
> > fs/cifs/smbdirect.o: In function `smbd_disconnect_rdma_work':
> > smbdirect.c:(.text+0x1e4): undefined reference to `rdma_disconnect'
> > net/9p/trans_rdma.o: In function `rdma_request':
> > trans_rdma.c:(.text+0x7bc): undefined reference to `rdma_disconnect'
> > net/9p/trans_rdma.o: In function `rdma_destroy_trans':
> > trans_rdma.c:(.text+0x830): undefined reference to `ib_destroy_qp'
> > trans_rdma.c:(.text+0x858): undefined reference to `ib_dealloc_pd'
> 
> > Fixes: 9533b292a7ac ("IB: remove redundant INFINIBAND kconfig
> dependencies")
> > Signed-off-by: Arnd Bergmann <arnd@arndb.de>
> 
> Acked-by: Greg Thelen <gthelen@google.com>
> 
> Sorry for the 9533b292a7ac problem.
> At this point the in release cycle, I think Arnd's revert is best.
> 
> If there is interest, I've put a little thought into an alternative fix:
> making INFINIBAND_ADDR_TRANS tristate.  But it's nontrivial.
> So I prefer this simple revert for now.

Is that a normal thing to do?

> Doug: do you need anything from me on this?

I can take the revert..

Jason

^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: [PATCH] IB: Revert "remove redundant INFINIBAND kconfig dependencies"
@ 2018-05-28 16:39     ` Jason Gunthorpe
  0 siblings, 0 replies; 22+ messages in thread
From: Jason Gunthorpe @ 2018-05-28 16:39 UTC (permalink / raw)
  To: Greg Thelen
  Cc: arnd, Doug Ledford, Keith Busch, Jens Axboe, Christoph Hellwig,
	Sagi Grimberg, oleg.drokin, andreas.dilger, jsimmons, gregkh,
	Steve French, ericvh, rminnich, lucho, David S. Miller,
	santosh.shilimkar, trond.myklebust, anna.schumaker, bfields,
	jlayton, Bart Van Assche, linux-rdma, LKML, linux-nvme,
	lustre-devel, devel, linux-cifs, samba-technical, v9fs-developer,
	netdev, rds-devel, linux-nfs

On Fri, May 25, 2018 at 05:32:52PM -0700, Greg Thelen wrote:
> On Fri, May 25, 2018 at 2:32 PM Arnd Bergmann <arnd@arndb.de> wrote:
> 
> > Several subsystems depend on INFINIBAND_ADDR_TRANS, which in turn depends
> > on INFINIBAND. However, when with CONFIG_INIFIBAND=m, this leads to a
> > link error when another driver using it is built-in. The
> > INFINIBAND_ADDR_TRANS dependency is insufficient here as this is
> > a 'bool' symbol that does not force anything to be a module in turn.
> 
> > fs/cifs/smbdirect.o: In function `smbd_disconnect_rdma_work':
> > smbdirect.c:(.text+0x1e4): undefined reference to `rdma_disconnect'
> > net/9p/trans_rdma.o: In function `rdma_request':
> > trans_rdma.c:(.text+0x7bc): undefined reference to `rdma_disconnect'
> > net/9p/trans_rdma.o: In function `rdma_destroy_trans':
> > trans_rdma.c:(.text+0x830): undefined reference to `ib_destroy_qp'
> > trans_rdma.c:(.text+0x858): undefined reference to `ib_dealloc_pd'
> 
> > Fixes: 9533b292a7ac ("IB: remove redundant INFINIBAND kconfig
> dependencies")
> > Signed-off-by: Arnd Bergmann <arnd@arndb.de>
> 
> Acked-by: Greg Thelen <gthelen@google.com>
> 
> Sorry for the 9533b292a7ac problem.
> At this point the in release cycle, I think Arnd's revert is best.
> 
> If there is interest, I've put a little thought into an alternative fix:
> making INFINIBAND_ADDR_TRANS tristate.  But it's nontrivial.
> So I prefer this simple revert for now.

Is that a normal thing to do?

> Doug: do you need anything from me on this?

I can take the revert..

Jason

^ permalink raw reply	[flat|nested] 22+ messages in thread

* [lustre-devel] [PATCH] IB: Revert "remove redundant INFINIBAND kconfig dependencies"
@ 2018-05-28 16:39     ` Jason Gunthorpe
  0 siblings, 0 replies; 22+ messages in thread
From: Jason Gunthorpe @ 2018-05-28 16:39 UTC (permalink / raw)
  To: Greg Thelen
  Cc: arnd, Doug Ledford, Keith Busch, Jens Axboe, Christoph Hellwig,
	Sagi Grimberg, oleg.drokin, andreas.dilger, jsimmons, gregkh,
	Steve French, ericvh, rminnich, lucho, David S. Miller,
	santosh.shilimkar, trond.myklebust, anna.schumaker, bfields,
	jlayton, Bart Van Assche, linux-rdma, LKML, linux-nvme,
	lustre-devel, devel, linux-cifs, samba-techni

On Fri, May 25, 2018 at 05:32:52PM -0700, Greg Thelen wrote:
> On Fri, May 25, 2018 at 2:32 PM Arnd Bergmann <arnd@arndb.de> wrote:
> 
> > Several subsystems depend on INFINIBAND_ADDR_TRANS, which in turn depends
> > on INFINIBAND. However, when with CONFIG_INIFIBAND=m, this leads to a
> > link error when another driver using it is built-in. The
> > INFINIBAND_ADDR_TRANS dependency is insufficient here as this is
> > a 'bool' symbol that does not force anything to be a module in turn.
> 
> > fs/cifs/smbdirect.o: In function `smbd_disconnect_rdma_work':
> > smbdirect.c:(.text+0x1e4): undefined reference to `rdma_disconnect'
> > net/9p/trans_rdma.o: In function `rdma_request':
> > trans_rdma.c:(.text+0x7bc): undefined reference to `rdma_disconnect'
> > net/9p/trans_rdma.o: In function `rdma_destroy_trans':
> > trans_rdma.c:(.text+0x830): undefined reference to `ib_destroy_qp'
> > trans_rdma.c:(.text+0x858): undefined reference to `ib_dealloc_pd'
> 
> > Fixes: 9533b292a7ac ("IB: remove redundant INFINIBAND kconfig
> dependencies")
> > Signed-off-by: Arnd Bergmann <arnd@arndb.de>
> 
> Acked-by: Greg Thelen <gthelen@google.com>
> 
> Sorry for the 9533b292a7ac problem.
> At this point the in release cycle, I think Arnd's revert is best.
> 
> If there is interest, I've put a little thought into an alternative fix:
> making INFINIBAND_ADDR_TRANS tristate.  But it's nontrivial.
> So I prefer this simple revert for now.

Is that a normal thing to do?

> Doug: do you need anything from me on this?

I can take the revert..

Jason

^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: [PATCH] IB: Revert "remove redundant INFINIBAND kconfig dependencies"
  2018-05-25 21:29 ` Arnd Bergmann
  (?)
  (?)
@ 2018-05-28 16:44   ` Jason Gunthorpe
  -1 siblings, 0 replies; 22+ messages in thread
From: Jason Gunthorpe @ 2018-05-28 16:44 UTC (permalink / raw)
  To: Arnd Bergmann
  Cc: Doug Ledford, Keith Busch, Jens Axboe, Christoph Hellwig,
	Sagi Grimberg, Oleg Drokin, Andreas Dilger, James Simmons,
	Greg Kroah-Hartman, Steve French, Eric Van Hensbergen,
	Ron Minnich, Latchesar Ionkov, David S. Miller,
	Santosh Shilimkar, Trond Myklebust, Anna Schumaker,
	J. Bruce Fields, Jeff Layton

On Fri, May 25, 2018 at 11:29:59PM +0200, Arnd Bergmann wrote:
> Several subsystems depend on INFINIBAND_ADDR_TRANS, which in turn depends
> on INFINIBAND. However, when with CONFIG_INIFIBAND=m, this leads to a
> link error when another driver using it is built-in. The
> INFINIBAND_ADDR_TRANS dependency is insufficient here as this is
> a 'bool' symbol that does not force anything to be a module in turn.
> 
> fs/cifs/smbdirect.o: In function `smbd_disconnect_rdma_work':
> smbdirect.c:(.text+0x1e4): undefined reference to `rdma_disconnect'
> net/9p/trans_rdma.o: In function `rdma_request':
> trans_rdma.c:(.text+0x7bc): undefined reference to `rdma_disconnect'
> net/9p/trans_rdma.o: In function `rdma_destroy_trans':
> trans_rdma.c:(.text+0x830): undefined reference to `ib_destroy_qp'
> trans_rdma.c:(.text+0x858): undefined reference to `ib_dealloc_pd'
> 
> Fixes: 9533b292a7ac ("IB: remove redundant INFINIBAND kconfig dependencies")
> Signed-off-by: Arnd Bergmann <arnd@arndb.de>
> Acked-by: Greg Thelen <gthelen@google.com>
> ---
> The patch that introduced the problem has been queued in the
> rdma-fixes/for-rc tree. Please revert the patch before sending
> the branch to Linus.
> ---
>  drivers/infiniband/ulp/srpt/Kconfig | 2 +-
>  drivers/nvme/host/Kconfig           | 2 +-
>  drivers/nvme/target/Kconfig         | 2 +-
>  drivers/staging/lustre/lnet/Kconfig | 2 +-
>  fs/cifs/Kconfig                     | 2 +-
>  net/9p/Kconfig                      | 2 +-
>  net/rds/Kconfig                     | 2 +-
>  net/sunrpc/Kconfig                  | 2 +-
>  8 files changed, 8 insertions(+), 8 deletions(-)

Applied to for-rc, thanks

Jason

^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: [PATCH] IB: Revert "remove redundant INFINIBAND kconfig dependencies"
@ 2018-05-28 16:44   ` Jason Gunthorpe
  0 siblings, 0 replies; 22+ messages in thread
From: Jason Gunthorpe @ 2018-05-28 16:44 UTC (permalink / raw)
  To: Arnd Bergmann
  Cc: Doug Ledford, Keith Busch, Jens Axboe, Christoph Hellwig,
	Sagi Grimberg, Oleg Drokin, Andreas Dilger, James Simmons,
	Greg Kroah-Hartman, Steve French, Eric Van Hensbergen,
	Ron Minnich, Latchesar Ionkov, David S. Miller,
	Santosh Shilimkar, Trond Myklebust, Anna Schumaker,
	J. Bruce Fields, Jeff Layton, Greg

On Fri, May 25, 2018 at 11:29:59PM +0200, Arnd Bergmann wrote:
> Several subsystems depend on INFINIBAND_ADDR_TRANS, which in turn depends
> on INFINIBAND. However, when with CONFIG_INIFIBAND=m, this leads to a
> link error when another driver using it is built-in. The
> INFINIBAND_ADDR_TRANS dependency is insufficient here as this is
> a 'bool' symbol that does not force anything to be a module in turn.
> 
> fs/cifs/smbdirect.o: In function `smbd_disconnect_rdma_work':
> smbdirect.c:(.text+0x1e4): undefined reference to `rdma_disconnect'
> net/9p/trans_rdma.o: In function `rdma_request':
> trans_rdma.c:(.text+0x7bc): undefined reference to `rdma_disconnect'
> net/9p/trans_rdma.o: In function `rdma_destroy_trans':
> trans_rdma.c:(.text+0x830): undefined reference to `ib_destroy_qp'
> trans_rdma.c:(.text+0x858): undefined reference to `ib_dealloc_pd'
> 
> Fixes: 9533b292a7ac ("IB: remove redundant INFINIBAND kconfig dependencies")
> Signed-off-by: Arnd Bergmann <arnd@arndb.de>
> Acked-by: Greg Thelen <gthelen@google.com>
> ---
> The patch that introduced the problem has been queued in the
> rdma-fixes/for-rc tree. Please revert the patch before sending
> the branch to Linus.
> ---
>  drivers/infiniband/ulp/srpt/Kconfig | 2 +-
>  drivers/nvme/host/Kconfig           | 2 +-
>  drivers/nvme/target/Kconfig         | 2 +-
>  drivers/staging/lustre/lnet/Kconfig | 2 +-
>  fs/cifs/Kconfig                     | 2 +-
>  net/9p/Kconfig                      | 2 +-
>  net/rds/Kconfig                     | 2 +-
>  net/sunrpc/Kconfig                  | 2 +-
>  8 files changed, 8 insertions(+), 8 deletions(-)

Applied to for-rc, thanks

Jason

^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: [PATCH] IB: Revert "remove redundant INFINIBAND kconfig dependencies"
@ 2018-05-28 16:44   ` Jason Gunthorpe
  0 siblings, 0 replies; 22+ messages in thread
From: Jason Gunthorpe @ 2018-05-28 16:44 UTC (permalink / raw)
  To: Arnd Bergmann
  Cc: Doug Ledford, Keith Busch, Jens Axboe, Christoph Hellwig,
	Sagi Grimberg, Oleg Drokin, Andreas Dilger, James Simmons,
	Greg Kroah-Hartman, Steve French, Eric Van Hensbergen,
	Ron Minnich, Latchesar Ionkov, David S. Miller,
	Santosh Shilimkar, Trond Myklebust, Anna Schumaker,
	J. Bruce Fields, Jeff Layton, Greg Thelen, Bart Van Assche,
	linux-rdma, linux-kernel, linux-nvme, lustre-devel, devel,
	linux-cifs, samba-technical, v9fs-developer, netdev, rds-devel,
	linux-nfs

On Fri, May 25, 2018 at 11:29:59PM +0200, Arnd Bergmann wrote:
> Several subsystems depend on INFINIBAND_ADDR_TRANS, which in turn depends
> on INFINIBAND. However, when with CONFIG_INIFIBAND=m, this leads to a
> link error when another driver using it is built-in. The
> INFINIBAND_ADDR_TRANS dependency is insufficient here as this is
> a 'bool' symbol that does not force anything to be a module in turn.
> 
> fs/cifs/smbdirect.o: In function `smbd_disconnect_rdma_work':
> smbdirect.c:(.text+0x1e4): undefined reference to `rdma_disconnect'
> net/9p/trans_rdma.o: In function `rdma_request':
> trans_rdma.c:(.text+0x7bc): undefined reference to `rdma_disconnect'
> net/9p/trans_rdma.o: In function `rdma_destroy_trans':
> trans_rdma.c:(.text+0x830): undefined reference to `ib_destroy_qp'
> trans_rdma.c:(.text+0x858): undefined reference to `ib_dealloc_pd'
> 
> Fixes: 9533b292a7ac ("IB: remove redundant INFINIBAND kconfig dependencies")
> Signed-off-by: Arnd Bergmann <arnd@arndb.de>
> Acked-by: Greg Thelen <gthelen@google.com>
> ---
> The patch that introduced the problem has been queued in the
> rdma-fixes/for-rc tree. Please revert the patch before sending
> the branch to Linus.
> ---
>  drivers/infiniband/ulp/srpt/Kconfig | 2 +-
>  drivers/nvme/host/Kconfig           | 2 +-
>  drivers/nvme/target/Kconfig         | 2 +-
>  drivers/staging/lustre/lnet/Kconfig | 2 +-
>  fs/cifs/Kconfig                     | 2 +-
>  net/9p/Kconfig                      | 2 +-
>  net/rds/Kconfig                     | 2 +-
>  net/sunrpc/Kconfig                  | 2 +-
>  8 files changed, 8 insertions(+), 8 deletions(-)

Applied to for-rc, thanks

Jason

^ permalink raw reply	[flat|nested] 22+ messages in thread

* [lustre-devel] [PATCH] IB: Revert "remove redundant INFINIBAND kconfig dependencies"
@ 2018-05-28 16:44   ` Jason Gunthorpe
  0 siblings, 0 replies; 22+ messages in thread
From: Jason Gunthorpe @ 2018-05-28 16:44 UTC (permalink / raw)
  To: Arnd Bergmann
  Cc: Doug Ledford, Keith Busch, Jens Axboe, Christoph Hellwig,
	Sagi Grimberg, Oleg Drokin, Andreas Dilger, James Simmons,
	Greg Kroah-Hartman, Steve French, Eric Van Hensbergen,
	Ron Minnich, Latchesar Ionkov, David S. Miller,
	Santosh Shilimkar, Trond Myklebust, Anna Schumaker,
	J. Bruce Fields, Jeff Layton

On Fri, May 25, 2018 at 11:29:59PM +0200, Arnd Bergmann wrote:
> Several subsystems depend on INFINIBAND_ADDR_TRANS, which in turn depends
> on INFINIBAND. However, when with CONFIG_INIFIBAND=m, this leads to a
> link error when another driver using it is built-in. The
> INFINIBAND_ADDR_TRANS dependency is insufficient here as this is
> a 'bool' symbol that does not force anything to be a module in turn.
> 
> fs/cifs/smbdirect.o: In function `smbd_disconnect_rdma_work':
> smbdirect.c:(.text+0x1e4): undefined reference to `rdma_disconnect'
> net/9p/trans_rdma.o: In function `rdma_request':
> trans_rdma.c:(.text+0x7bc): undefined reference to `rdma_disconnect'
> net/9p/trans_rdma.o: In function `rdma_destroy_trans':
> trans_rdma.c:(.text+0x830): undefined reference to `ib_destroy_qp'
> trans_rdma.c:(.text+0x858): undefined reference to `ib_dealloc_pd'
> 
> Fixes: 9533b292a7ac ("IB: remove redundant INFINIBAND kconfig dependencies")
> Signed-off-by: Arnd Bergmann <arnd@arndb.de>
> Acked-by: Greg Thelen <gthelen@google.com>
> ---
> The patch that introduced the problem has been queued in the
> rdma-fixes/for-rc tree. Please revert the patch before sending
> the branch to Linus.
> ---
>  drivers/infiniband/ulp/srpt/Kconfig | 2 +-
>  drivers/nvme/host/Kconfig           | 2 +-
>  drivers/nvme/target/Kconfig         | 2 +-
>  drivers/staging/lustre/lnet/Kconfig | 2 +-
>  fs/cifs/Kconfig                     | 2 +-
>  net/9p/Kconfig                      | 2 +-
>  net/rds/Kconfig                     | 2 +-
>  net/sunrpc/Kconfig                  | 2 +-
>  8 files changed, 8 insertions(+), 8 deletions(-)

Applied to for-rc, thanks

Jason

^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: [PATCH] IB: Revert "remove redundant INFINIBAND kconfig dependencies"
  2018-05-28 16:39     ` Jason Gunthorpe
  (?)
@ 2018-05-28 18:02       ` Greg Thelen
  -1 siblings, 0 replies; 22+ messages in thread
From: Greg Thelen @ 2018-05-28 18:02 UTC (permalink / raw)
  To: Jason Gunthorpe
  Cc: arnd, Doug Ledford, Keith Busch, Jens Axboe, Christoph Hellwig,
	Sagi Grimberg, oleg.drokin, andreas.dilger, jsimmons, gregkh,
	Steve French, ericvh, rminnich, lucho, David S. Miller,
	santosh.shilimkar, trond.myklebust, anna.schumaker, bfields,
	jlayton, Bart Van Assche, linux-rdma, LKML, linux-nvme,
	lustre-devel, devel, linux-cifs, samba-techni

Jason Gunthorpe <jgg@ziepe.ca> wrote:

> On Fri, May 25, 2018 at 05:32:52PM -0700, Greg Thelen wrote:
>> On Fri, May 25, 2018 at 2:32 PM Arnd Bergmann <arnd@arndb.de> wrote:

>> > Several subsystems depend on INFINIBAND_ADDR_TRANS, which in turn  
>> depends
>> > on INFINIBAND. However, when with CONFIG_INIFIBAND=m, this leads to a
>> > link error when another driver using it is built-in. The
>> > INFINIBAND_ADDR_TRANS dependency is insufficient here as this is
>> > a 'bool' symbol that does not force anything to be a module in turn.

>> > fs/cifs/smbdirect.o: In function `smbd_disconnect_rdma_work':
>> > smbdirect.c:(.text+0x1e4): undefined reference to `rdma_disconnect'
>> > net/9p/trans_rdma.o: In function `rdma_request':
>> > trans_rdma.c:(.text+0x7bc): undefined reference to `rdma_disconnect'
>> > net/9p/trans_rdma.o: In function `rdma_destroy_trans':
>> > trans_rdma.c:(.text+0x830): undefined reference to `ib_destroy_qp'
>> > trans_rdma.c:(.text+0x858): undefined reference to `ib_dealloc_pd'

>> > Fixes: 9533b292a7ac ("IB: remove redundant INFINIBAND kconfig
>> dependencies")
>> > Signed-off-by: Arnd Bergmann <arnd@arndb.de>

>> Acked-by: Greg Thelen <gthelen@google.com>

>> Sorry for the 9533b292a7ac problem.
>> At this point the in release cycle, I think Arnd's revert is best.

>> If there is interest, I've put a little thought into an alternative fix:
>> making INFINIBAND_ADDR_TRANS tristate.  But it's nontrivial.
>> So I prefer this simple revert for now.

> Is that a normal thing to do?

For me: no, it's not normal.  In my use case I merely want to disable
INFINIBAND_ADDR_TRANS while continuing to use INFINIBAND.  This is
supported with f7cb7b85be55 ("IB: make INFINIBAND_ADDR_TRANS
configurable").

During f7cb7b85be55 development https://lkml.org/lkml/2018/4/30/1073
suggested that we drop dependency on both INFINIBAND and
INFINIBAND_ADDR_TRANS.  Thus 9533b292a7ac ("IB: remove redundant
INFINIBAND kconfig dependencies").

But 9533b292a7ac led to the randconfig build errors reported and thus
("IB: Revert "remove redundant INFINIBAND kconfig dependencies"").

So I see no need to do anything more than apply ("IB: Revert "remove
redundant INFINIBAND kconfig dependencies"").

>> Doug: do you need anything from me on this?

> I can take the revert..

> Jason

Thanks.

^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: [PATCH] IB: Revert "remove redundant INFINIBAND kconfig dependencies"
@ 2018-05-28 18:02       ` Greg Thelen
  0 siblings, 0 replies; 22+ messages in thread
From: Greg Thelen @ 2018-05-28 18:02 UTC (permalink / raw)
  To: Jason Gunthorpe
  Cc: arnd, Doug Ledford, Keith Busch, Jens Axboe, Christoph Hellwig,
	Sagi Grimberg, oleg.drokin, andreas.dilger, jsimmons, gregkh,
	Steve French, ericvh, rminnich, lucho, David S. Miller,
	santosh.shilimkar, trond.myklebust, anna.schumaker, bfields,
	jlayton, Bart Van Assche, linux-rdma, LKML, linux-nvme,
	lustre-devel, devel, linux-cifs, samba-technical, v9fs-developer,
	netdev, rds-devel, linux-nfs

Jason Gunthorpe <jgg@ziepe.ca> wrote:

> On Fri, May 25, 2018 at 05:32:52PM -0700, Greg Thelen wrote:
>> On Fri, May 25, 2018 at 2:32 PM Arnd Bergmann <arnd@arndb.de> wrote:

>> > Several subsystems depend on INFINIBAND_ADDR_TRANS, which in turn  
>> depends
>> > on INFINIBAND. However, when with CONFIG_INIFIBAND=m, this leads to a
>> > link error when another driver using it is built-in. The
>> > INFINIBAND_ADDR_TRANS dependency is insufficient here as this is
>> > a 'bool' symbol that does not force anything to be a module in turn.

>> > fs/cifs/smbdirect.o: In function `smbd_disconnect_rdma_work':
>> > smbdirect.c:(.text+0x1e4): undefined reference to `rdma_disconnect'
>> > net/9p/trans_rdma.o: In function `rdma_request':
>> > trans_rdma.c:(.text+0x7bc): undefined reference to `rdma_disconnect'
>> > net/9p/trans_rdma.o: In function `rdma_destroy_trans':
>> > trans_rdma.c:(.text+0x830): undefined reference to `ib_destroy_qp'
>> > trans_rdma.c:(.text+0x858): undefined reference to `ib_dealloc_pd'

>> > Fixes: 9533b292a7ac ("IB: remove redundant INFINIBAND kconfig
>> dependencies")
>> > Signed-off-by: Arnd Bergmann <arnd@arndb.de>

>> Acked-by: Greg Thelen <gthelen@google.com>

>> Sorry for the 9533b292a7ac problem.
>> At this point the in release cycle, I think Arnd's revert is best.

>> If there is interest, I've put a little thought into an alternative fix:
>> making INFINIBAND_ADDR_TRANS tristate.  But it's nontrivial.
>> So I prefer this simple revert for now.

> Is that a normal thing to do?

For me: no, it's not normal.  In my use case I merely want to disable
INFINIBAND_ADDR_TRANS while continuing to use INFINIBAND.  This is
supported with f7cb7b85be55 ("IB: make INFINIBAND_ADDR_TRANS
configurable").

During f7cb7b85be55 development https://lkml.org/lkml/2018/4/30/1073
suggested that we drop dependency on both INFINIBAND and
INFINIBAND_ADDR_TRANS.  Thus 9533b292a7ac ("IB: remove redundant
INFINIBAND kconfig dependencies").

But 9533b292a7ac led to the randconfig build errors reported and thus
("IB: Revert "remove redundant INFINIBAND kconfig dependencies"").

So I see no need to do anything more than apply ("IB: Revert "remove
redundant INFINIBAND kconfig dependencies"").

>> Doug: do you need anything from me on this?

> I can take the revert..

> Jason

Thanks.

^ permalink raw reply	[flat|nested] 22+ messages in thread

* [lustre-devel] [PATCH] IB: Revert "remove redundant INFINIBAND kconfig dependencies"
@ 2018-05-28 18:02       ` Greg Thelen
  0 siblings, 0 replies; 22+ messages in thread
From: Greg Thelen @ 2018-05-28 18:02 UTC (permalink / raw)
  To: Jason Gunthorpe
  Cc: arnd, Doug Ledford, Keith Busch, Jens Axboe, Christoph Hellwig,
	Sagi Grimberg, oleg.drokin, andreas.dilger, jsimmons, gregkh,
	Steve French, ericvh, rminnich, lucho, David S. Miller,
	santosh.shilimkar, trond.myklebust, anna.schumaker, bfields,
	jlayton, Bart Van Assche, linux-rdma, LKML, linux-nvme,
	lustre-devel, devel, linux-cifs, samba-techni

Jason Gunthorpe <jgg@ziepe.ca> wrote:

> On Fri, May 25, 2018 at 05:32:52PM -0700, Greg Thelen wrote:
>> On Fri, May 25, 2018 at 2:32 PM Arnd Bergmann <arnd@arndb.de> wrote:

>> > Several subsystems depend on INFINIBAND_ADDR_TRANS, which in turn  
>> depends
>> > on INFINIBAND. However, when with CONFIG_INIFIBAND=m, this leads to a
>> > link error when another driver using it is built-in. The
>> > INFINIBAND_ADDR_TRANS dependency is insufficient here as this is
>> > a 'bool' symbol that does not force anything to be a module in turn.

>> > fs/cifs/smbdirect.o: In function `smbd_disconnect_rdma_work':
>> > smbdirect.c:(.text+0x1e4): undefined reference to `rdma_disconnect'
>> > net/9p/trans_rdma.o: In function `rdma_request':
>> > trans_rdma.c:(.text+0x7bc): undefined reference to `rdma_disconnect'
>> > net/9p/trans_rdma.o: In function `rdma_destroy_trans':
>> > trans_rdma.c:(.text+0x830): undefined reference to `ib_destroy_qp'
>> > trans_rdma.c:(.text+0x858): undefined reference to `ib_dealloc_pd'

>> > Fixes: 9533b292a7ac ("IB: remove redundant INFINIBAND kconfig
>> dependencies")
>> > Signed-off-by: Arnd Bergmann <arnd@arndb.de>

>> Acked-by: Greg Thelen <gthelen@google.com>

>> Sorry for the 9533b292a7ac problem.
>> At this point the in release cycle, I think Arnd's revert is best.

>> If there is interest, I've put a little thought into an alternative fix:
>> making INFINIBAND_ADDR_TRANS tristate.  But it's nontrivial.
>> So I prefer this simple revert for now.

> Is that a normal thing to do?

For me: no, it's not normal.  In my use case I merely want to disable
INFINIBAND_ADDR_TRANS while continuing to use INFINIBAND.  This is
supported with f7cb7b85be55 ("IB: make INFINIBAND_ADDR_TRANS
configurable").

During f7cb7b85be55 development https://lkml.org/lkml/2018/4/30/1073
suggested that we drop dependency on both INFINIBAND and
INFINIBAND_ADDR_TRANS.  Thus 9533b292a7ac ("IB: remove redundant
INFINIBAND kconfig dependencies").

But 9533b292a7ac led to the randconfig build errors reported and thus
("IB: Revert "remove redundant INFINIBAND kconfig dependencies"").

So I see no need to do anything more than apply ("IB: Revert "remove
redundant INFINIBAND kconfig dependencies"").

>> Doug: do you need anything from me on this?

> I can take the revert..

> Jason

Thanks.

^ permalink raw reply	[flat|nested] 22+ messages in thread

end of thread, other threads:[~2018-05-28 18:02 UTC | newest]

Thread overview: 22+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-05-25 21:29 [PATCH] IB: Revert "remove redundant INFINIBAND kconfig dependencies" Arnd Bergmann
2018-05-25 21:29 ` [lustre-devel] " Arnd Bergmann
2018-05-25 21:29 ` Arnd Bergmann
2018-05-25 21:29 ` Arnd Bergmann
2018-05-25 21:38 ` Leon Romanovsky
2018-05-25 21:38   ` [lustre-devel] " Leon Romanovsky
2018-05-25 21:38   ` Leon Romanovsky
2018-05-25 21:38   ` Leon Romanovsky
2018-05-26  0:32 ` Greg Thelen
2018-05-26  0:32   ` [lustre-devel] " Greg Thelen
2018-05-26  0:32   ` Greg Thelen
2018-05-26  0:32   ` Greg Thelen
2018-05-28 16:39   ` Jason Gunthorpe
2018-05-28 16:39     ` [lustre-devel] " Jason Gunthorpe
2018-05-28 16:39     ` Jason Gunthorpe
2018-05-28 18:02     ` Greg Thelen
2018-05-28 18:02       ` [lustre-devel] " Greg Thelen
2018-05-28 18:02       ` Greg Thelen
2018-05-28 16:44 ` Jason Gunthorpe
2018-05-28 16:44   ` [lustre-devel] " Jason Gunthorpe
2018-05-28 16:44   ` Jason Gunthorpe
2018-05-28 16:44   ` Jason Gunthorpe

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.