static NTSTATUS cvfs_disconnect(struct ntvfs_module_context *ntvfs)
{
struct cvfs_private *private = ntvfs->private_data;
+ struct async_info *a, *an;
+
+ /* first cleanup pending requests */
+ for (a=private->pending; a; a = an) {
+ an = a->next;
+ smbcli_request_destroy(a->c_req);
+ talloc_free(a);
+ }
talloc_free(private);
ntvfs->private_data = NULL;
struct async_info *async = c_req->async.private;
struct ntvfs_request *req = async->req;
req->async_states->status = smbcli_request_simple_recv(c_req);
+ talloc_free(async);
req->async_states->send_fn(req);
}
struct async_info *async = c_req->async.private;
struct ntvfs_request *req = async->req;
req->async_states->status = smb_raw_ioctl_recv(c_req, req, async->parms);
+ talloc_free(async);
req->async_states->send_fn(req);
}
struct async_info *async = c_req->async.private;
struct ntvfs_request *req = async->req;
req->async_states->status = smb_raw_pathinfo_recv(c_req, req, async->parms);
+ talloc_free(async);
req->async_states->send_fn(req);
}
struct async_info *async = c_req->async.private;
struct ntvfs_request *req = async->req;
req->async_states->status = smb_raw_fileinfo_recv(c_req, req, async->parms);
+ talloc_free(async);
req->async_states->send_fn(req);
}
struct async_info *async = c_req->async.private;
struct ntvfs_request *req = async->req;
req->async_states->status = smb_raw_open_recv(c_req, req, async->parms);
+ talloc_free(async);
req->async_states->send_fn(req);
}
struct async_info *async = c_req->async.private;
struct ntvfs_request *req = async->req;
req->async_states->status = smb_raw_read_recv(c_req, async->parms);
+ talloc_free(async);
req->async_states->send_fn(req);
}
struct async_info *async = c_req->async.private;
struct ntvfs_request *req = async->req;
req->async_states->status = smb_raw_write_recv(c_req, async->parms);
+ talloc_free(async);
req->async_states->send_fn(req);
}
struct async_info *async = c_req->async.private;
struct ntvfs_request *req = async->req;
req->async_states->status = smb_raw_seek_recv(c_req, async->parms);
+ talloc_free(async);
req->async_states->send_fn(req);
}
struct async_info *async = c_req->async.private;
struct ntvfs_request *req = async->req;
req->async_states->status = smb_raw_fsinfo_recv(c_req, req, async->parms);
+ talloc_free(async);
req->async_states->send_fn(req);
}
struct async_info *async = c_req->async.private;
struct ntvfs_request *req = async->req;
req->async_states->status = smb_raw_trans2_recv(c_req, req, async->parms);
+ talloc_free(async);
req->async_states->send_fn(req);
}
struct async_info *async = c_req->async.private;
struct ntvfs_request *req = async->req;
req->async_states->status = smb_raw_changenotify_recv(c_req, req, async->parms);
+ talloc_free(async);
req->async_states->send_fn(req);
}