smbd: Fix an ancient oplock bug
authorVolker Lendecke <vl@samba.org>
Wed, 4 Sep 2013 11:57:00 +0000 (13:57 +0200)
committerJeremy Allison <jra@samba.org>
Wed, 4 Sep 2013 18:35:59 +0000 (11:35 -0700)
If we get an oplock break response, we forgot to remove the oplock break
timeout.

Found by stopping raw.oplock.exclusive5 after the 2nd open and watching a debug
level 10 log. This amends 08a9de89 from 2007.

Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
source3/smbd/oplock.c

index 21792bdee40675a3c8f407568069f0f8a1b96b0f..7b0a979220767df6dc361360d74ff18aa5cdedd5 100644 (file)
@@ -150,6 +150,8 @@ static void downgrade_file_oplock(files_struct *fsp)
        sconn->oplocks.exclusive_open--;
        sconn->oplocks.level_II_open++;
        fsp->sent_oplock_break = NO_BREAK_SENT;
+
+       TALLOC_FREE(fsp->oplock_timeout);
 }
 
 /****************************************************************************