[PATCH] smb: smbdirect: select CONFIG_SG_POOL

Stefan Metzmacher metze at samba.org
Mon Feb 16 11:15:39 UTC 2026


Hi Arnd,

I'm wondering what the top commit is that you where compiling,
I guess that's before the 'smb: client: make use of smbdirect.ko'
commit.

As we have this at the end of the patchset in ksmbd-for-next:

fs/smb/common/smbdirect/Kconfig

config SMB_COMMON_SMBDIRECT
         def_tristate n
         depends on INFINIBAND && INFINIBAND_ADDR_TRANS
         depends on m || INFINIBAND != m
         select SG_POOL

I'll try to change the patches to have your hunk
in the temporary phase in the patchset where we use
smbdirect_all_c_files, as it's gone at the end of
the patchset.

Thanks!
metze

Am 16.02.26 um 11:54 schrieb Arnd Bergmann:
> From: Arnd Bergmann <arnd at arndb.de>
> 
> The smbdirect code now uses the scatter/gather pool interface. This
> causes a build failure when the interface is disabled:
> 
> In file included from fs/smb/client/../common/smbdirect/smbdirect_all_c_files.c:21,
>                   from fs/smb/client/smbdirect.c:176:
> fs/smb/client/../common/smbdirect/smbdirect_rw.c: In function 'smbdirect_connection_rw_io_free':
> fs/smb/client/../common/smbdirect/smbdirect_rw.c:76:9: error: implicit declaration of function 'sg_free_table_chained' [-Wimplicit-function-declaration]
>     76 |         sg_free_table_chained(&msg->sgt, SG_CHUNK_SIZE);
>        |         ^~~~~~~~~~~~~~~~~~~~~
> 
> The other users of this interface all 'select SG_POOL', so so the same
> here.
> 
> Fixes: 5ab0987c492e ("smb: smbdirect: introduce smbdirect_rw.c with server rw code")
> Signed-off-by: Arnd Bergmann <arnd at arndb.de>
> ---
>   fs/smb/client/Kconfig | 1 +
>   1 file changed, 1 insertion(+)
> 
> diff --git a/fs/smb/client/Kconfig b/fs/smb/client/Kconfig
> index 17bd368574e9..725422b45ef4 100644
> --- a/fs/smb/client/Kconfig
> +++ b/fs/smb/client/Kconfig
> @@ -182,6 +182,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,




More information about the samba-technical mailing list