Add async support for reply_tcon* and ntvfs_connect
authorSam Liddicott <sam@liddicott.com>
Thu, 23 Apr 2009 12:47:59 +0000 (13:47 +0100)
committerStefan Metzmacher <metze@samba.org>
Thu, 23 Apr 2009 14:57:18 +0000 (16:57 +0200)
commit176302dc05cd67d013f3d153b9816329a175167e
tree3e872fac3dd7c215cc8236387a95153a24b11f1d
parent652dc40f0d535b333f8dd6a15fe699438176c53b
Add async support for reply_tcon* and ntvfs_connect

smbsrv_tcon_backend no longer creates the ntvfs_request wrapper,
so smbsrv_reply_tcon* can now do this and then invoke ntvfs_connect
in the typical manner using SMBSRV_SETUP_NTVFS_REQUEST and
SMBSRV_CALL_NTVFS_BACKEND

Previously smbsrv_tcon_backend has been responsible for instantiating
the ntvfs_module_context to service a tree-connect request, and
then create an ntvfs_request wrapper around the smbsrv_request
and pass this to ntvfs_connect for the newly created ntvfs.

These actions could not be invoked asynchronously.

This meant that any client requests made while instantiating the
ntvfs module, including any composite's used during authentication
(or related client connections for the case of proxy modules)
would block other ntvfs modules and requests in the current process as
they executed a nested event loop to await completion.

Signed-off-by: Sam Liddicott <sam@liddicott.com>
Signed-off-by: Stefan Metzmacher <metze@samba.org>
source4/smb_server/smb/reply.c
source4/smb_server/smb/service.c