diff options
author | Jeremy Allison <jra@samba.org> | 2010-05-19 19:28:26 -0700 |
---|---|---|
committer | Jeremy Allison <jra@samba.org> | 2010-05-19 19:28:26 -0700 |
commit | af445935555dc3fab3cefc52b375dd18b8d9bb4c (patch) | |
tree | e800d21f0a757a30836c337bd17e1027089b796d /source3/smbd/smb2_server.c | |
parent | ae02691200a2fd20b0c227a875a0997b50fc6612 (diff) | |
download | samba-af445935555dc3fab3cefc52b375dd18b8d9bb4c.tar.gz samba-af445935555dc3fab3cefc52b375dd18b8d9bb4c.tar.xz samba-af445935555dc3fab3cefc52b375dd18b8d9bb4c.zip |
(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.
Diffstat (limited to 'source3/smbd/smb2_server.c')
-rw-r--r-- | source3/smbd/smb2_server.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/source3/smbd/smb2_server.c b/source3/smbd/smb2_server.c index 75c818bcda5..b081b6a2576 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, |