From: Stefan Metzmacher Date: Tue, 9 Jun 2009 20:34:14 +0000 (+0200) Subject: s3:smbd: send SMB2 interim responses for async calls X-Git-Tag: talloc-2.0.0~936 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=b7ea2740d5b04ab312c8052ef71429f2a43007aa;p=thirdparty%2Fsamba.git s3:smbd: send SMB2 interim responses for async calls metze --- diff --git a/source3/smbd/smb2_create.c b/source3/smbd/smb2_create.c index 0e3cd164cd9..578dfa7c3b5 100644 --- a/source3/smbd/smb2_create.c +++ b/source3/smbd/smb2_create.c @@ -123,6 +123,11 @@ NTSTATUS smbd_smb2_request_process_create(struct smbd_smb2_request *req) return smbd_smb2_request_error(req, NT_STATUS_NO_MEMORY); } tevent_req_set_callback(subreq, smbd_smb2_request_create_done, req); + + if (tevent_req_is_in_progress(subreq)) { + return smbd_smb2_request_pending_queue(req); + } + return NT_STATUS_OK; } diff --git a/source3/smbd/smb2_flush.c b/source3/smbd/smb2_flush.c index ce560a13625..8ce683923b5 100644 --- a/source3/smbd/smb2_flush.c +++ b/source3/smbd/smb2_flush.c @@ -69,6 +69,11 @@ NTSTATUS smbd_smb2_request_process_flush(struct smbd_smb2_request *req) return smbd_smb2_request_error(req, NT_STATUS_NO_MEMORY); } tevent_req_set_callback(subreq, smbd_smb2_request_flush_done, req); + + if (tevent_req_is_in_progress(subreq)) { + return smbd_smb2_request_pending_queue(req); + } + return NT_STATUS_OK; } diff --git a/source3/smbd/smb2_ioctl.c b/source3/smbd/smb2_ioctl.c index a1f28856680..85da92e6c00 100644 --- a/source3/smbd/smb2_ioctl.c +++ b/source3/smbd/smb2_ioctl.c @@ -104,6 +104,11 @@ NTSTATUS smbd_smb2_request_process_ioctl(struct smbd_smb2_request *req) return smbd_smb2_request_error(req, NT_STATUS_NO_MEMORY); } tevent_req_set_callback(subreq, smbd_smb2_request_ioctl_done, req); + + if (tevent_req_is_in_progress(subreq)) { + return smbd_smb2_request_pending_queue(req); + } + return NT_STATUS_OK; } diff --git a/source3/smbd/smb2_read.c b/source3/smbd/smb2_read.c index 5890ca6c423..c9f281f73ec 100644 --- a/source3/smbd/smb2_read.c +++ b/source3/smbd/smb2_read.c @@ -100,6 +100,11 @@ NTSTATUS smbd_smb2_request_process_read(struct smbd_smb2_request *req) return smbd_smb2_request_error(req, NT_STATUS_NO_MEMORY); } tevent_req_set_callback(subreq, smbd_smb2_request_read_done, req); + + if (tevent_req_is_in_progress(subreq)) { + return smbd_smb2_request_pending_queue(req); + } + return NT_STATUS_OK; } diff --git a/source3/smbd/smb2_write.c b/source3/smbd/smb2_write.c index ccfe3b34342..31460a01a17 100644 --- a/source3/smbd/smb2_write.c +++ b/source3/smbd/smb2_write.c @@ -108,6 +108,11 @@ NTSTATUS smbd_smb2_request_process_write(struct smbd_smb2_request *req) return smbd_smb2_request_error(req, NT_STATUS_NO_MEMORY); } tevent_req_set_callback(subreq, smbd_smb2_request_write_done, req); + + if (tevent_req_is_in_progress(subreq)) { + return smbd_smb2_request_pending_queue(req); + } + return NT_STATUS_OK; }