From af445935555dc3fab3cefc52b375dd18b8d9bb4c Mon Sep 17 00:00:00 2001 From: Jeremy Allison Date: Wed, 19 May 2010 19:28:26 -0700 Subject: (Finally) fix bug #7158 - SMB2 connection resets during IOZone tests from 64-bit Vista client It turns out that the persistent handles are used by the Microsoft redirector to index files on oplock break requests. So even if we don't do durable handles (yet) we must set the persistent handle on create. For now just use the same handle value as we use for volatile. Jeremy. --- source3/smbd/smb2_server.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'source3/smbd/smb2_server.c') diff --git a/source3/smbd/smb2_server.c b/source3/smbd/smb2_server.c index 75c818bcda..b081b6a257 100644 --- a/source3/smbd/smb2_server.c +++ b/source3/smbd/smb2_server.c @@ -1448,6 +1448,7 @@ struct smbd_smb2_send_oplock_break_state { static void smbd_smb2_oplock_break_writev_done(struct tevent_req *subreq); NTSTATUS smbd_smb2_send_oplock_break(struct smbd_server_connection *sconn, + uint64_t file_id_persistent, uint64_t file_id_volatile, uint8_t oplock_level) { @@ -1488,7 +1489,7 @@ NTSTATUS smbd_smb2_send_oplock_break(struct smbd_server_connection *sconn, SCVAL(body, 0x02, oplock_level); SCVAL(body, 0x03, 0); /* reserved */ SIVAL(body, 0x04, 0); /* reserved */ - SBVAL(body, 0x08, 0); /* file_id_persistent */ + SBVAL(body, 0x08, file_id_persistent); SBVAL(body, 0x10, file_id_volatile); subreq = tstream_writev_queue_send(state, -- cgit