]> git.ipfire.org Git - thirdparty/samba.git/commit
s3: smbd: Restart reading the incoming SMB2 fd when the send queue is drained.
authorJeremy Allison <jra@samba.org>
Thu, 2 Mar 2017 17:13:23 +0000 (09:13 -0800)
committerKarolin Seeger <kseeger@samba.org>
Mon, 6 Mar 2017 15:02:16 +0000 (16:02 +0100)
commit083ff22e0a89b6efb982c750c3ebb39130626516
tree8d2e2785ce839f76ec0995d710850a29ee76bc66
parent3f71253ae50d4d51d24956245b254fb8c9fa5f1d
s3: smbd: Restart reading the incoming SMB2 fd when the send queue is drained.

When the send queue grows greater than xconn->smb2.credits.max/16,
smbd_smb2_request_next_incoming() doesn't allocate a new request in state->req.

After smbd_smb2_io_handler() is called, it marks the fd not readable as
state->req == NULL, and never marks it readable again.

Fix by calling smbd_smb2_request_next_incoming() to restart
reads inside smbd_smb2_flush_send_queue() which drains the
send queue.

Reported by <chen.yehua@h3c.com>

BUG: https://bugzilla.samba.org/show_bug.cgi?id=12608

Signed-off-by: Jeremy Allison <jra@samba.org>
Reviewed-by: Ralph Boehme <slow@samba.org>
Autobuild-User(master): Ralph Böhme <slow@samba.org>
Autobuild-Date(master): Fri Mar  3 02:23:20 CET 2017 on sn-devel-144

(cherry picked from commit 1e0c79ddb34be9a2b9fa92d35387c443c4a381ae)

Autobuild-User(v4-4-test): Karolin Seeger <kseeger@samba.org>
Autobuild-Date(v4-4-test): Mon Mar  6 16:02:16 CET 2017 on sn-devel-144
source3/smbd/smb2_server.c