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 */ + +#define SMBDIRECT_USE_INLINE_C_FILES 1 + #include #include #include @@ -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) \