From: Stefan Metzmacher Date: Fri, 22 Aug 2025 10:22:24 +0000 (+0200) Subject: smb: smbdirect: introduce smbdirect_socket.workqueue X-Git-Url: https://www.infradead.org/git/?a=commitdiff_plain;h=6c5b0f9253d7f15722db22da28cd49ab34252214;p=users%2Fjedix%2Flinux-maple.git smb: smbdirect: introduce smbdirect_socket.workqueue The client currently used a per socket workqueue because it can block in a work function waiting for credits. So we use a per socket pointer in order to prepare common code. Cc: Steve French Cc: Tom Talpey Cc: Long Li Acked-by: Namjae Jeon Cc: linux-cifs@vger.kernel.org Cc: samba-technical@lists.samba.org Signed-off-by: Stefan Metzmacher Signed-off-by: Steve French --- diff --git a/fs/smb/common/smbdirect/smbdirect_socket.h b/fs/smb/common/smbdirect/smbdirect_socket.h index 649d66cd4a83..b0efa5a26016 100644 --- a/fs/smb/common/smbdirect/smbdirect_socket.h +++ b/fs/smb/common/smbdirect/smbdirect_socket.h @@ -51,6 +51,14 @@ struct smbdirect_socket { enum smbdirect_socket_status status; wait_queue_head_t status_wait; + /* + * This points to the workqueue to + * be used for this socket. + * It can be per socket (on the client) + * or point to a global workqueue (on the server) + */ + struct workqueue_struct *workqueue; + struct work_struct disconnect_work; /* RDMA related */