From: Stefan Metzmacher Date: Fri, 15 Aug 2025 15:47:58 +0000 (+0200) Subject: smb: smbdirect: introduce smbdirect_socket.idle.{keepalive,immediate_work,timer_work} X-Git-Url: https://www.infradead.org/git/?a=commitdiff_plain;h=89bae05f9df68f827de0106760de53933083a391;p=users%2Fhch%2Fmisc.git 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 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 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 ""; } +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; @@ -71,6 +77,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 */