diff --git a/source4/smb_server/smb_server.h b/source4/smb_server/smb_server.h index 1ddbf30..2075305 100644 --- a/source4/smb_server/smb_server.h +++ b/source4/smb_server/smb_server.h @@ -479,7 +479,8 @@ struct loadparm_context; #define SMBSRV_CALL_NTVFS_BACKEND(cmd) do { \ req->ntvfs->async_states->status = cmd; \ if (req->ntvfs->async_states->state & NTVFS_ASYNC_STATE_ASYNC) { \ - DLIST_ADD_END(req->smb_conn->requests, req, struct smbsrv_request *); \ + if (! (req->prev) && ! (req->next)) \ + DLIST_ADD_END(req->smb_conn->requests, req, struct smbsrv_request *); \ } else { \ req->ntvfs->async_states->send_fn(req->ntvfs); \ } \