summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStefan Metzmacher <metze@samba.org>2025-08-15 17:47:58 +0200
committerSteve French <stfrench@microsoft.com>2025-09-28 18:29:48 -0500
commit89bae05f9df68f827de0106760de53933083a391 (patch)
tree9a05a54e5e62d7ee9a86a01e6ad0838f2d3c7184
parent2baedb2026a5c01e79e9691540eea14d65f7277a (diff)
downloadlinux-89bae05f9df68f827de0106760de53933083a391.tar.gz
linux-89bae05f9df68f827de0106760de53933083a391.zip
smb: smbdirect: introduce smbdirect_socket.idle.{keepalive,immediate_work,timer_work}
This will allow client and server to use the common structures in order to share common functions later. 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>
-rw-r--r--fs/smb/common/smbdirect/smbdirect_socket.h15
1 files changed, 15 insertions, 0 deletions
diff --git a/fs/smb/common/smbdirect/smbdirect_socket.h b/fs/smb/common/smbdirect/smbdirect_socket.h
index 3aaee6ca2934..11e9b365ac96 100644
--- a/fs/smb/common/smbdirect/smbdirect_socket.h
+++ b/fs/smb/common/smbdirect/smbdirect_socket.h
@@ -41,6 +41,12 @@ const char *smbdirect_socket_status_string(enum smbdirect_socket_status status)
return "<unknown>";
}
+enum smbdirect_keepalive_status {
+ SMBDIRECT_KEEPALIVE_NONE,
+ SMBDIRECT_KEEPALIVE_PENDING,
+ SMBDIRECT_KEEPALIVE_SENT
+};
+
struct smbdirect_socket {
enum smbdirect_socket_status status;
wait_queue_head_t status_wait;
@@ -72,6 +78,15 @@ struct smbdirect_socket {
struct smbdirect_socket_parameters parameters;
/*
+ * The state for keepalive and timeout handling
+ */
+ struct {
+ enum smbdirect_keepalive_status keepalive;
+ struct work_struct immediate_work;
+ struct delayed_work timer_work;
+ } idle;
+
+ /*
* The state for posted send buffers
*/
struct {