From: Stefan Metzmacher Date: Thu, 28 Aug 2025 15:01:58 +0000 (+0200) Subject: smb: server: make use of smbdirect_frwr_is_supported() X-Git-Tag: v7.1-rc1~128^2~41 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=c81c66d3c09aa1dfab2137ac6b737a206d228b2f;p=thirdparty%2Fkernel%2Flinux.git smb: server: make use of smbdirect_frwr_is_supported() This is an exact copy of rdma_frwr_is_supported(). Cc: Namjae Jeon Cc: Steve French Cc: Tom Talpey Cc: linux-cifs@vger.kernel.org Cc: samba-technical@lists.samba.org Signed-off-by: Stefan Metzmacher Acked-by: Namjae Jeon Signed-off-by: Steve French --- diff --git a/fs/smb/server/transport_rdma.c b/fs/smb/server/transport_rdma.c index 1606fc70810e3..feb5711968244 100644 --- a/fs/smb/server/transport_rdma.c +++ b/fs/smb/server/transport_rdma.c @@ -2490,15 +2490,6 @@ static int smb_direct_connect(struct smbdirect_socket *sc) return 0; } -static bool rdma_frwr_is_supported(struct ib_device_attr *attrs) -{ - if (!(attrs->device_cap_flags & IB_DEVICE_MEM_MGT_EXTENSIONS)) - return false; - if (attrs->max_fast_reg_page_list_len == 0) - return false; - return true; -} - static int smb_direct_handle_connect_request(struct rdma_cm_id *new_cm_id, struct rdma_cm_event *event) { @@ -2511,7 +2502,7 @@ static int smb_direct_handle_connect_request(struct rdma_cm_id *new_cm_id, u8 peer_responder_resources; int ret; - if (!rdma_frwr_is_supported(&new_cm_id->device->attrs)) { + if (!smbdirect_frwr_is_supported(&new_cm_id->device->attrs)) { ksmbd_debug(RDMA, "Fast Registration Work Requests is not supported. device capabilities=%llx\n", new_cm_id->device->attrs.device_cap_flags); @@ -2703,7 +2694,7 @@ static int smb_direct_ib_client_add(struct ib_device *ib_dev) { struct smb_direct_device *smb_dev; - if (!rdma_frwr_is_supported(&ib_dev->attrs)) + if (!smbdirect_frwr_is_supported(&ib_dev->attrs)) return 0; smb_dev = kzalloc_obj(*smb_dev, KSMBD_DEFAULT_GFP); @@ -2851,7 +2842,7 @@ out: ibdev = ib_device_get_by_netdev(netdev, RDMA_DRIVER_UNKNOWN); if (ibdev) { - rdma_capable = rdma_frwr_is_supported(&ibdev->attrs); + rdma_capable = smbdirect_frwr_is_supported(&ibdev->attrs); ib_device_put(ibdev); } }