Re: [PATCH] smb: smbdirect: select CONFIG_SG_POOL

From: Stefan Metzmacher

Date: Mon Feb 16 2026 - 06:26:14 EST


Am 16.02.26 um 12:15 schrieb Stefan Metzmacher via samba-technical:
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@xxxxxxxx>

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@xxxxxxxx>
---
  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

I'm squashing this into the
'smb: client: include smbdirect_all_c_files.c' commit
and the 'smb: client: make use of smbdirect.ko' commit
will remove it again.

metze