[rds-devel] [External] : Re: [PATCH rdma-next v7] RDMA: Change capability fields in ib_device_attr from int to u32

Stefan Metzmacher metze at samba.org
Wed Jun 10 08:44:57 UTC 2026


Am 06.06.26 um 09:07 schrieb Erni Sri Satya Vennela:
> diff --git a/fs/smb/smbdirect/accept.c b/fs/smb/smbdirect/accept.c
> index 529740005838..44b681a20725 100644
> --- a/fs/smb/smbdirect/accept.c
> +++ b/fs/smb/smbdirect/accept.c
> @@ -32,8 +32,9 @@ int smbdirect_accept_connect_request(struct smbdirect_socket *sc,
>   	/*
>   	 * First set what the we as server are able to support
>   	 */
> - sp->initiator_depth = min_t(u8, sp->initiator_depth,
> - sc->ib.dev->attrs.max_qp_rd_atom);
> + sp->initiator_depth = min3(sp->initiator_depth,
> + sc->ib.dev->attrs.max_qp_rd_atom,
> + U8_MAX);
>   
>   	peer_initiator_depth = param->initiator_depth;
>   	peer_responder_resources = param->responder_resources;
> diff --git a/fs/smb/smbdirect/connect.c b/fs/smb/smbdirect/connect.c
> index cd726b399afe..34a3e72c38fb 100644
> --- a/fs/smb/smbdirect/connect.c
> +++ b/fs/smb/smbdirect/connect.c
> @@ -182,8 +182,9 @@ static int smbdirect_connect_rdma_connect(struct smbdirect_socket *sc)
>   	if (sc->ib.dev->attrs.kernel_cap_flags & IBK_SG_GAPS_REG)
>   		sc->mr_io.type = IB_MR_TYPE_SG_GAPS;
>   
> - sp->responder_resources = min_t(u8, sp->responder_resources,
> - sc->ib.dev->attrs.max_qp_rd_atom);
> + sp->responder_resources = min3(sp->responder_resources,
> + sc->ib.dev->attrs.max_qp_rd_atom,
> + U8_MAX);
>   	smbdirect_log_rdma_mr(sc, SMBDIRECT_LOG_INFO,
>   		"responder_resources=%d\n",
>   		sp->responder_resources);
> diff --git a/fs/smb/smbdirect/connection.c b/fs/smb/smbdirect/connection.c
> index 8adf58097534..690acb84e1b5 100644
> --- a/fs/smb/smbdirect/connection.c
> +++ b/fs/smb/smbdirect/connection.c
> @@ -287,7 +287,7 @@ int smbdirect_connection_create_qp(struct smbdirect_socket *sc)
>   	    qp_cap.max_send_wr > sc->ib.dev->attrs.max_qp_wr) {
>   		pr_err("Possible CQE overrun: max_send_wr %d\n",
>   		       qp_cap.max_send_wr);
> - pr_err("device %.*s reporting max_cqe %d max_qp_wr %d\n",
> + pr_err("device %.*s reporting max_cqe %u max_qp_wr %u\n",
>   		       IB_DEVICE_NAME_MAX,
>   		       sc->ib.dev->name,
>   		       sc->ib.dev->attrs.max_cqe,
> @@ -302,7 +302,7 @@ int smbdirect_connection_create_qp(struct smbdirect_socket *sc)
>   	     max_send_wr >= sc->ib.dev->attrs.max_qp_wr)) {
>   		pr_err("Possible CQE overrun: rdma_send_wr %d + max_send_wr %d = %d\n",
>   		       rdma_send_wr, qp_cap.max_send_wr, max_send_wr);
> - pr_err("device %.*s reporting max_cqe %d max_qp_wr %d\n",
> + pr_err("device %.*s reporting max_cqe %u max_qp_wr %u\n",
>   		       IB_DEVICE_NAME_MAX,
>   		       sc->ib.dev->name,
>   		       sc->ib.dev->attrs.max_cqe,
> @@ -316,7 +316,7 @@ int smbdirect_connection_create_qp(struct smbdirect_socket *sc)
>   	    qp_cap.max_recv_wr > sc->ib.dev->attrs.max_qp_wr) {
>   		pr_err("Possible CQE overrun: max_recv_wr %d\n",
>   		       qp_cap.max_recv_wr);
> - pr_err("device %.*s reporting max_cqe %d max_qp_wr %d\n",
> + pr_err("device %.*s reporting max_cqe %u max_qp_wr %u\n",
>   		       IB_DEVICE_NAME_MAX,
>   		       sc->ib.dev->name,
>   		       sc->ib.dev->attrs.max_cqe,
> @@ -328,7 +328,7 @@ int smbdirect_connection_create_qp(struct smbdirect_socket *sc)
>   
>   	if (qp_cap.max_send_sge > sc->ib.dev->attrs.max_send_sge ||
>   	    qp_cap.max_recv_sge > sc->ib.dev->attrs.max_recv_sge) {
> - pr_err("device %.*s max_send_sge/max_recv_sge = %d/%d too small\n",
> + pr_err("device %.*s max_send_sge/max_recv_sge = %u/%u too small\n",
>   		       IB_DEVICE_NAME_MAX,
>   		       sc->ib.dev->name,
>   		       sc->ib.dev->attrs.max_send_sge,

Acked-by: Stefan Metzmacher <metze at samba.org> for the smbdirect changes.

Thanks!
metze



More information about the rds-devel mailing list