From: Stefan Metzmacher <metze@samba.org>
To: Steve French <smfrench@gmail.com>
Cc: Namjae Jeon <linkinjeon@kernel.org>,
David Howells <dhowells@redhat.com>,
Paulo Alcantara <pc@manguebit.org>, Tom Talpey <tom@talpey.com>,
CIFS <linux-cifs@vger.kernel.org>,
samba-technical <samba-technical@lists.samba.org>,
Arnd Bergmann <arnd@kernel.org>
Subject: Re: [PATCH v5 000/144] smb: smbdirect/client/server: moving to common functions and smbdirect.ko
Date: Mon, 16 Feb 2026 14:49:05 +0100 [thread overview]
Message-ID: <237aa80d-8bd2-4dad-9975-85e11e2bf1fd@samba.org> (raw)
In-Reply-To: <CAH2r5msAAN-EgOmRnoO7R4RPu2suNr+mgk5c5JAj9b-_kjwymg@mail.gmail.com>
Hi Steve,
for-7.0/smbdirect-ko-20260216-v8 at commit:
8a2259252f084fe55411346d58a1160fc69b7d30
git fetch https://git.samba.org/metze/linux/wip.git for-7.0/smbdirect-ko-20260216-v8
https://git.samba.org/?p=metze/linux/wip.git;a=shortlog;h=refs/heads/for-7.0/smbdirect-ko-20260216-v8
fixes 3 problems:
compared to for-7.0/smbdirect-ko-20260213-v7:
- We use BUILD_BUG_ON(sizeof(*batch) > sizeof(*storage));
instead of BUILD_BUG_ON(sizeof(*batch) < sizeof(*storage));
Closes: https://lore.kernel.org/oe-kbuild-all/202602141417.hsmt2AAb-lkp@intel.com/
- We now use [SMBDIRECT_DEBUG_]ERR_PTR(ret) with %1pe
instead of errname(ret) with %s
Closes: https://lore.kernel.org/oe-kbuild-all/202602141435.Sm9ZppiO-lkp@intel.com/
- We use 'select SG_POOL' for the client as long
as smbdirect_all_c_files.c is used
Closes: https://lore.kernel.org/linux-cifs/20260216105404.2381695-1-arnd@kernel.org/
The overall diff to the current ksmbd-for-next
(at commit 2a43d1cf4bd3bc0cff03f0926e83895a7462ad05) is pasted below:
Please replace ksmbd-for-next with commit
8a2259252f084fe55411346d58a1160fc69b7d30,
Thanks!
metze
fs/smb/client/smbdirect.c | 5 ++---
fs/smb/common/smbdirect/smbdirect_connection.c | 26 +++++++++++++-------------
fs/smb/common/smbdirect/smbdirect_devices.c | 3 ++-
fs/smb/common/smbdirect/smbdirect_internal.h | 1 -
fs/smb/common/smbdirect/smbdirect_main.c | 3 ++-
fs/smb/common/smbdirect/smbdirect_mr.c | 21 +++++++++++----------
fs/smb/common/smbdirect/smbdirect_socket.c | 3 ++-
fs/smb/server/transport_rdma.c | 25 ++++++++++++-------------
8 files changed, 44 insertions(+), 43 deletions(-)
diff --git a/fs/smb/client/smbdirect.c b/fs/smb/client/smbdirect.c
index de3b51fa2d62..ff80072dc9ff 100644
--- a/fs/smb/client/smbdirect.c
+++ b/fs/smb/client/smbdirect.c
@@ -5,7 +5,6 @@
* Author(s): Long Li <longli@microsoft.com>
*/
-#include <linux/errname.h>
#include "smbdirect.h"
#include "cifs_debug.h"
#include "cifsproto.h"
@@ -325,8 +324,8 @@ static struct smbd_connection *_smbd_get_connection(
ret = smbdirect_connect_sync(sc, dstaddr);
if (ret) {
- log_rdma_event(ERR, "connect to %pISpsfc failed: %s\n",
- dstaddr, errname(ret));
+ log_rdma_event(ERR, "connect to %pISpsfc failed: %1pe\n",
+ dstaddr, ERR_PTR(ret));
goto connect_failed;
}
diff --git a/fs/smb/common/smbdirect/smbdirect_connection.c b/fs/smb/common/smbdirect/smbdirect_connection.c
index 813ddd87c6ae..1e946f78e935 100644
--- a/fs/smb/common/smbdirect/smbdirect_connection.c
+++ b/fs/smb/common/smbdirect/smbdirect_connection.c
@@ -968,7 +968,7 @@ smbdirect_init_send_batch_storage(struct smbdirect_send_batch_storage *storage,
struct smbdirect_send_batch *batch = (struct smbdirect_send_batch *)storage;
memset(storage, 0, sizeof(*storage));
- BUILD_BUG_ON(sizeof(*batch) < sizeof(*storage));
+ BUILD_BUG_ON(sizeof(*batch) > sizeof(*storage));
smbdirect_connection_send_batch_init(batch,
need_invalidate_rkey,
@@ -1111,10 +1111,10 @@ int smbdirect_connection_send_single_iter(struct smbdirect_socket *sc,
if (sc->status != SMBDIRECT_SOCKET_CONNECTED) {
smbdirect_log_write(sc, SMBDIRECT_LOG_ERR,
- "status=%s first_error=%1pe => %s\n",
+ "status=%s first_error=%1pe => %1pe\n",
smbdirect_socket_status_string(sc->status),
SMBDIRECT_DEBUG_ERR_PTR(sc->first_error),
- errname(-ENOTCONN));
+ SMBDIRECT_DEBUG_ERR_PTR(-ENOTCONN));
return -ENOTCONN;
}
@@ -1273,10 +1273,10 @@ int smbdirect_connection_send_wait_zero_pending(struct smbdirect_socket *sc)
sc->status != SMBDIRECT_SOCKET_CONNECTED);
if (sc->status != SMBDIRECT_SOCKET_CONNECTED) {
smbdirect_log_write(sc, SMBDIRECT_LOG_ERR,
- "status=%s first_error=%1pe => %s\n",
+ "status=%s first_error=%1pe => %1pe\n",
smbdirect_socket_status_string(sc->status),
SMBDIRECT_DEBUG_ERR_PTR(sc->first_error),
- errname(-ENOTCONN));
+ SMBDIRECT_DEBUG_ERR_PTR(-ENOTCONN));
return -ENOTCONN;
}
@@ -1305,10 +1305,10 @@ int smbdirect_connection_send_iter(struct smbdirect_socket *sc,
if (sc->status != SMBDIRECT_SOCKET_CONNECTED) {
smbdirect_log_write(sc, SMBDIRECT_LOG_INFO,
- "status=%s first_error=%1pe => %s\n",
+ "status=%s first_error=%1pe => %1pe\n",
smbdirect_socket_status_string(sc->status),
SMBDIRECT_DEBUG_ERR_PTR(sc->first_error),
- errname(-ENOTCONN));
+ SMBDIRECT_DEBUG_ERR_PTR(-ENOTCONN));
return -ENOTCONN;
}
@@ -1485,8 +1485,8 @@ int smbdirect_connection_post_recv_io(struct smbdirect_recv_io *msg)
ret = ib_post_recv(sc->ib.qp, &recv_wr, NULL);
if (ret) {
smbdirect_log_rdma_recv(sc, SMBDIRECT_LOG_ERR,
- "ib_post_recv failed ret=%d (%s)\n",
- ret, errname(ret));
+ "ib_post_recv failed ret=%d (%1pe)\n",
+ ret, SMBDIRECT_DEBUG_ERR_PTR(ret));
ib_dma_unmap_single(sc->ib.dev,
msg->sge.addr,
msg->sge.length,
@@ -1716,8 +1716,8 @@ int smbdirect_connection_recv_io_refill(struct smbdirect_socket *sc)
ret = smbdirect_connection_post_recv_io(recv_io);
if (ret) {
smbdirect_log_rdma_recv(sc, SMBDIRECT_LOG_ERR,
- "smbdirect_connection_post_recv_io failed rc=%d (%s)\n",
- ret, errname(ret));
+ "smbdirect_connection_post_recv_io failed rc=%d (%1pe)\n",
+ ret, SMBDIRECT_DEBUG_ERR_PTR(ret));
smbdirect_connection_put_recv_io(recv_io);
return ret;
}
@@ -1802,10 +1802,10 @@ int smbdirect_connection_recvmsg(struct smbdirect_socket *sc,
again:
if (sc->status != SMBDIRECT_SOCKET_CONNECTED) {
smbdirect_log_read(sc, SMBDIRECT_LOG_INFO,
- "status=%s first_error=%1pe => %s\n",
+ "status=%s first_error=%1pe => %1pe\n",
smbdirect_socket_status_string(sc->status),
SMBDIRECT_DEBUG_ERR_PTR(sc->first_error),
- errname(-ENOTCONN));
+ SMBDIRECT_DEBUG_ERR_PTR(-ENOTCONN));
return -ENOTCONN;
}
diff --git a/fs/smb/common/smbdirect/smbdirect_devices.c b/fs/smb/common/smbdirect/smbdirect_devices.c
index d1a251141145..3ace41af2200 100644
--- a/fs/smb/common/smbdirect/smbdirect_devices.c
+++ b/fs/smb/common/smbdirect/smbdirect_devices.c
@@ -249,7 +249,8 @@ __init int smbdirect_devices_init(void)
ret = ib_register_client(&smbdirect_ib_client);
if (ret) {
- pr_err("failed to ib_register_client: %d %s\n", ret, errname(ret));
+ pr_crit("failed to ib_register_client: %d %1pe\n",
+ ret, SMBDIRECT_DEBUG_ERR_PTR(ret));
return ret;
}
diff --git a/fs/smb/common/smbdirect/smbdirect_internal.h b/fs/smb/common/smbdirect/smbdirect_internal.h
index 09a4ce8ed863..30a1b8643657 100644
--- a/fs/smb/common/smbdirect/smbdirect_internal.h
+++ b/fs/smb/common/smbdirect/smbdirect_internal.h
@@ -8,7 +8,6 @@
#define pr_fmt(fmt) KBUILD_MODNAME ": " fmt
-#include <linux/errname.h>
#include "smbdirect.h"
#include "smbdirect_pdu.h"
#include "smbdirect_public.h"
diff --git a/fs/smb/common/smbdirect/smbdirect_main.c b/fs/smb/common/smbdirect/smbdirect_main.c
index 266d00da25f6..fe6e8d93c34c 100644
--- a/fs/smb/common/smbdirect/smbdirect_main.c
+++ b/fs/smb/common/smbdirect/smbdirect_main.c
@@ -91,7 +91,8 @@ static __init int smbdirect_module_init(void)
destroy_workqueue(smbdirect_globals.workqueues.accept);
alloc_accept_wq_failed:
mutex_unlock(&smbdirect_globals.mutex);
- pr_crit("failed to loaded: %d (%s)\n", ret, errname(ret));
+ pr_crit("failed to loaded: %d (%1pe)\n",
+ ret, SMBDIRECT_DEBUG_ERR_PTR(ret));
return ret;
}
diff --git a/fs/smb/common/smbdirect/smbdirect_mr.c b/fs/smb/common/smbdirect/smbdirect_mr.c
index 5e9420d01fe3..32668c58efb0 100644
--- a/fs/smb/common/smbdirect/smbdirect_mr.c
+++ b/fs/smb/common/smbdirect/smbdirect_mr.c
@@ -43,8 +43,9 @@ int smbdirect_connection_create_mr_list(struct smbdirect_socket *sc)
if (IS_ERR(mr->mr)) {
ret = PTR_ERR(mr->mr);
smbdirect_log_rdma_mr(sc, SMBDIRECT_LOG_ERR,
- "ib_alloc_mr failed ret=%d (%s) type=0x%x max_frmr_depth=%u\n",
- ret, errname(ret), sc->mr_io.type, sp->max_frmr_depth);
+ "ib_alloc_mr failed ret=%d (%1pe) type=0x%x max_frmr_depth=%u\n",
+ ret, SMBDIRECT_DEBUG_ERR_PTR(ret),
+ sc->mr_io.type, sp->max_frmr_depth);
goto ib_alloc_mr_failed;
}
mr->sgt.sgl = kcalloc(sp->max_frmr_depth,
@@ -173,8 +174,8 @@ smbdirect_connection_get_mr_io(struct smbdirect_socket *sc)
sc->status != SMBDIRECT_SOCKET_CONNECTED);
if (ret) {
smbdirect_log_rdma_mr(sc, SMBDIRECT_LOG_ERR,
- "wait_event_interruptible ret=%d (%s)\n",
- ret, errname(ret));
+ "wait_event_interruptible ret=%d (%1pe)\n",
+ ret, SMBDIRECT_DEBUG_ERR_PTR(ret));
return NULL;
}
@@ -304,8 +305,8 @@ smbdirect_connection_register_mr_io(struct smbdirect_socket *sc,
ret = ib_dma_map_sg(sc->ib.dev, mr->sgt.sgl, mr->sgt.nents, mr->dir);
if (!ret) {
smbdirect_log_rdma_mr(sc, SMBDIRECT_LOG_ERR,
- "ib_dma_map_sg num_pages=%u dir=%x ret=%d (%s)\n",
- num_pages, mr->dir, ret, errname(ret));
+ "ib_dma_map_sg num_pages=%u dir=%x ret=%d (%1pe)\n",
+ num_pages, mr->dir, ret, SMBDIRECT_DEBUG_ERR_PTR(ret));
goto dma_map_error;
}
@@ -348,8 +349,8 @@ smbdirect_connection_register_mr_io(struct smbdirect_socket *sc,
}
smbdirect_log_rdma_mr(sc, SMBDIRECT_LOG_ERR,
- "ib_post_send failed ret=%d (%s) reg_wr->key=0x%x\n",
- ret, errname(ret), reg_wr->key);
+ "ib_post_send failed ret=%d (%1pe) reg_wr->key=0x%x\n",
+ ret, SMBDIRECT_DEBUG_ERR_PTR(ret), reg_wr->key);
map_mr_error:
ib_dma_unmap_sg(sc->ib.dev, mr->sgt.sgl, mr->sgt.nents, mr->dir);
@@ -435,8 +436,8 @@ void smbdirect_connection_deregister_mr_io(struct smbdirect_mr_io *mr)
ret = ib_post_send(sc->ib.qp, wr, NULL);
if (ret) {
smbdirect_log_rdma_mr(sc, SMBDIRECT_LOG_ERR,
- "ib_post_send failed ret=%d (%s)\n",
- ret, errname(ret));
+ "ib_post_send failed ret=%d (%1pe)\n",
+ ret, SMBDIRECT_DEBUG_ERR_PTR(ret));
smbdirect_mr_io_disable_locked(mr);
smbdirect_socket_schedule_cleanup(sc, ret);
goto done;
diff --git a/fs/smb/common/smbdirect/smbdirect_socket.c b/fs/smb/common/smbdirect/smbdirect_socket.c
index 073df565f347..74e31b35a2f6 100644
--- a/fs/smb/common/smbdirect/smbdirect_socket.c
+++ b/fs/smb/common/smbdirect/smbdirect_socket.c
@@ -71,7 +71,8 @@ int smbdirect_socket_init_new(struct net *net, struct smbdirect_socket *sc)
ret = rdma_set_afonly(id, 1);
if (ret) {
rdma_destroy_id(id);
- pr_err("%s: rdma_set_afonly() failed %1pe\n", __func__, errname(ret));
+ pr_err("%s: rdma_set_afonly() failed %1pe\n",
+ __func__, SMBDIRECT_DEBUG_ERR_PTR(ret));
return ret;
}
diff --git a/fs/smb/server/transport_rdma.c b/fs/smb/server/transport_rdma.c
index 5a577a9b0bf8..706a2c897948 100644
--- a/fs/smb/server/transport_rdma.c
+++ b/fs/smb/server/transport_rdma.c
@@ -12,7 +12,6 @@
#include <linux/kthread.h>
#include <linux/list.h>
#include <linux/string_choices.h>
-#include <linux/errname.h>
#include "glob.h"
#include "connection.h"
@@ -413,8 +412,8 @@ static int smb_direct_listen(struct smb_direct_listener *listener,
ret = smbdirect_socket_create_kern(net, &sc);
if (ret) {
- pr_err("smbdirect_socket_create_kern() failed: %d %s\n",
- ret, errname(ret));
+ pr_err("smbdirect_socket_create_kern() failed: %d %1pe\n",
+ ret, ERR_PTR(ret));
return ret;
}
@@ -440,28 +439,28 @@ static int smb_direct_listen(struct smb_direct_listener *listener,
smb_direct_logging_vaprintf);
ret = smbdirect_socket_set_initial_parameters(sc, sp);
if (ret) {
- pr_err("Failed smbdirect_socket_set_initial_parameters(): %d %s\n",
- ret, errname(ret));
+ pr_err("Failed smbdirect_socket_set_initial_parameters(): %d %1pe\n",
+ ret, ERR_PTR(ret));
goto err;
}
ret = smbdirect_socket_set_kernel_settings(sc, IB_POLL_WORKQUEUE, KSMBD_DEFAULT_GFP);
if (ret) {
- pr_err("Failed smbdirect_socket_set_kernel_settings(): %d %s\n",
- ret, errname(ret));
+ pr_err("Failed smbdirect_socket_set_kernel_settings(): %d %1pe\n",
+ ret, ERR_PTR(ret));
goto err;
}
ret = smbdirect_socket_bind(sc, (struct sockaddr *)&sin);
if (ret) {
- pr_err("smbdirect_socket_bind() failed: %d %s\n",
- ret, errname(ret));
+ pr_err("smbdirect_socket_bind() failed: %d %1pe\n",
+ ret, ERR_PTR(ret));
goto err;
}
ret = smbdirect_socket_listen(sc, 10);
if (ret) {
- pr_err("Port[%d] smbdirect_socket_listen() failed: %d %s\n",
- port, ret, errname(ret));
+ pr_err("Port[%d] smbdirect_socket_listen() failed: %d %1pe\n",
+ port, ret, ERR_PTR(ret));
goto err;
}
@@ -473,8 +472,8 @@ static int smb_direct_listen(struct smb_direct_listener *listener,
"ksmbd-smbdirect-listener-%u", port);
if (IS_ERR(kthread)) {
ret = PTR_ERR(kthread);
- pr_err("Can't start ksmbd listen kthread: %d %s\n",
- ret, errname(ret));
+ pr_err("Can't start ksmbd listen kthread: %d %1pe\n",
+ ret, ERR_PTR(ret));
goto err;
}
next prev parent reply other threads:[~2026-02-16 13:49 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-02-05 17:22 [PATCH v5 000/144] smb: smbdirect/client/server: moving to common functions and smbdirect.ko Stefan Metzmacher
2026-02-06 15:13 ` Namjae Jeon
2026-02-06 15:17 ` Stefan Metzmacher
2026-02-09 7:29 ` Namjae Jeon
2026-02-09 13:22 ` Stefan Metzmacher
2026-02-09 19:10 ` Stefan Metzmacher
2026-02-10 14:37 ` Namjae Jeon
2026-02-12 20:05 ` Stefan Metzmacher
[not found] ` <CAH2r5muf=Th_AbA7SZaQKApyvr81FMB8WF-5yZ3ihzap1swQWg@mail.gmail.com>
[not found] ` <98d25ce1-1f1a-4517-89f0-8956bffaf9d3@samba.org>
[not found] ` <CAH2r5mswN8W652Br4QQTzhtDXtXKvqea=dWVfUFF+xDYfOx6HA@mail.gmail.com>
[not found] ` <28d94c9f-b85e-4746-bb08-188090409682@samba.org>
[not found] ` <CAH2r5mtA=DdpEiyqspNG3eoyjkGajnEwoRnOyXyBimDtCND9ig@mail.gmail.com>
[not found] ` <c5aef237-2a12-4be5-b917-de502780be85@samba.org>
2026-02-12 21:07 ` Steve French
2026-02-16 13:49 ` Stefan Metzmacher [this message]
2026-02-17 1:02 ` Steve French
2026-02-17 2:16 ` Steve French
2026-02-17 9:25 ` Stefan Metzmacher
2026-02-17 22:34 ` Steve French
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=237aa80d-8bd2-4dad-9975-85e11e2bf1fd@samba.org \
--to=metze@samba.org \
--cc=arnd@kernel.org \
--cc=dhowells@redhat.com \
--cc=linkinjeon@kernel.org \
--cc=linux-cifs@vger.kernel.org \
--cc=pc@manguebit.org \
--cc=samba-technical@lists.samba.org \
--cc=smfrench@gmail.com \
--cc=tom@talpey.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox