in the async socket handling routines in the cifs backend don't assume
authorAndrew Tridgell <tridge@samba.org>
Mon, 8 Mar 2004 07:13:11 +0000 (07:13 +0000)
committerAndrew Tridgell <tridge@samba.org>
Mon, 8 Mar 2004 07:13:11 +0000 (07:13 +0000)
that conn->ntvfs_private is set correctly, instead use our copy of the
private pointer in the fde callback. This allows the cifs backend to
be used on conjunction with a NTVFS filter module.
(This used to be commit 8047b806e78815706bca81a77d04d5874ffd7d6e)

source4/ntvfs/cifs/vfs_cifs.c

index 878dbf2357f1315972fa49ac4ec4efec6d543e17..966a670677f1cd00c8d991cfa06666fc76358c74 100644 (file)
@@ -73,8 +73,8 @@ static BOOL oplock_handler(struct cli_transport *transport, uint16 tid, uint16 f
 */
 static void cifs_socket_handler(struct event_context *ev, struct fd_event *fde, time_t t, uint16 flags)
 {
-       struct tcon_context *conn = fde->private;
-       struct cvfs_private *private = conn->ntvfs_private;
+       struct cvfs_private *private = fde->private;
+       struct tcon_context *conn = private->conn;
 
        DEBUG(5,("cifs_socket_handler event on fd %d\n", fde->fd));
 
@@ -160,7 +160,7 @@ static NTSTATUS cvfs_connect(struct request_context *req, const char *sharename)
           on our SMB connection to the server */
        fde.fd = private->transport->socket->fd;
        fde.flags = EVENT_FD_READ;
-       fde.private = req->conn;
+       fde.private = private;
        fde.handler = cifs_socket_handler;
 
        event_add_fd(conn->smb->events, &fde);