]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
smb: smbdirect: introduce struct smbdirect_rw_io
authorStefan Metzmacher <metze@samba.org>
Mon, 18 Aug 2025 19:04:14 +0000 (21:04 +0200)
committerSteve French <stfrench@microsoft.com>
Sun, 28 Sep 2025 23:29:47 +0000 (18:29 -0500)
This will be used by the server in order to manage
RDMA reads and writes.

Cc: Steve French <smfrench@gmail.com>
Cc: Tom Talpey <tom@talpey.com>
Cc: Long Li <longli@microsoft.com>
Acked-by: Namjae Jeon <linkinjeon@kernel.org>
Cc: linux-cifs@vger.kernel.org
Cc: samba-technical@lists.samba.org
Signed-off-by: Stefan Metzmacher <metze@samba.org>
Signed-off-by: Steve French <stfrench@microsoft.com>
fs/smb/common/smbdirect/smbdirect_socket.h

index 148e8dbf1254c6401f57f3e199445015cd82fbfd..d7f3b25c022df70eab63cc25f791ad3533775205 100644 (file)
@@ -6,6 +6,8 @@
 #ifndef __FS_SMB_COMMON_SMBDIRECT_SMBDIRECT_SOCKET_H__
 #define __FS_SMB_COMMON_SMBDIRECT_SMBDIRECT_SOCKET_H__
 
+#include <rdma/rw.h>
+
 enum smbdirect_socket_status {
        SMBDIRECT_SOCKET_CREATED,
        SMBDIRECT_SOCKET_CONNECTING,
@@ -273,4 +275,18 @@ struct smbdirect_recv_io {
        u8 packet[];
 };
 
+struct smbdirect_rw_io {
+       struct smbdirect_socket *socket;
+       struct ib_cqe cqe;
+
+       struct list_head list;
+
+       int error;
+       struct completion *completion;
+
+       struct rdma_rw_ctx rdma_ctx;
+       struct sg_table sgt;
+       struct scatterlist sg_list[];
+};
+
 #endif /* __FS_SMB_COMMON_SMBDIRECT_SMBDIRECT_SOCKET_H__ */