summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStefan Metzmacher <metze@samba.org>2025-08-26 16:24:33 +0300
committerSteve French <stfrench@microsoft.com>2026-04-16 05:58:18 +0300
commitbd33b696eb1638a169975552eb4bda3e5ab2cddc (patch)
tree518f0d78ce7d87ca878b03ff26fbabf686351ef4
parent86bca3df0fa0e6f9efd81165900de0af098f6bc2 (diff)
downloadlinux-bd33b696eb1638a169975552eb4bda3e5ab2cddc.tar.xz
smb: client: include smbdirect_all_c_files.c
This is the first tiny step in order to use common functions in future. Once we have all functions in common we'll move to an smbdirect.ko that exports public functions instead of including the .c file. Cc: Steve French <smfrench@gmail.com> Cc: Tom Talpey <tom@talpey.com> Cc: Long Li <longli@microsoft.com> Cc: Namjae Jeon <linkinjeon@kernel.org> Cc: Arnd Bergmann <arnd@arndb.de> Cc: linux-cifs@vger.kernel.org Cc: samba-technical@lists.samba.org Signed-off-by: Stefan Metzmacher <metze@samba.org> Acked-by: Namjae Jeon <linkinjeon@kernel.org> Signed-off-by: Steve French <stfrench@microsoft.com>
-rw-r--r--fs/smb/client/Kconfig1
-rw-r--r--fs/smb/client/smbdirect.c13
2 files changed, 14 insertions, 0 deletions
diff --git a/fs/smb/client/Kconfig b/fs/smb/client/Kconfig
index d112da38c881..ec2abfe0a62f 100644
--- a/fs/smb/client/Kconfig
+++ b/fs/smb/client/Kconfig
@@ -181,6 +181,7 @@ if CIFS
config CIFS_SMB_DIRECT
bool "SMB Direct support"
depends on CIFS=m && INFINIBAND && INFINIBAND_ADDR_TRANS || CIFS=y && INFINIBAND=y && INFINIBAND_ADDR_TRANS=y
+ select SG_POOL
help
Enables SMB Direct support for SMB 3.0, 3.02 and 3.1.1.
SMB Direct allows transferring SMB packets over RDMA. If unsure,
diff --git a/fs/smb/client/smbdirect.c b/fs/smb/client/smbdirect.c
index 461658105013..443ff427e28f 100644
--- a/fs/smb/client/smbdirect.c
+++ b/fs/smb/client/smbdirect.c
@@ -4,6 +4,9 @@
*
* Author(s): Long Li <longli@microsoft.com>
*/
+
+#define SMBDIRECT_USE_INLINE_C_FILES 1
+
#include <linux/module.h>
#include <linux/highmem.h>
#include <linux/folio_queue.h>
@@ -162,6 +165,16 @@ module_param(smbd_logging_level, uint, 0644);
MODULE_PARM_DESC(smbd_logging_level,
"Logging level for SMBD transport, 0 (default): error, 1: info");
+static void smbd_disconnect_rdma_connection(struct smbdirect_socket *sc);
+
+/*
+ * This is a temporary solution until all code
+ * is moved to smbdirect_all_c_files.c and we
+ * have an smbdirect.ko that exports the required
+ * functions.
+ */
+#include "../common/smbdirect/smbdirect_all_c_files.c"
+
#define log_rdma(level, class, fmt, args...) \
do { \
if (level <= smbd_logging_level || class & smbd_logging_class) \