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>
This commit is contained in:
Stefan Metzmacher 2025-08-15 17:47:58 +02:00 committed by Steve French
parent 2baedb2026
commit 89bae05f9d

View File

@ -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;
@ -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
*/