We were making an assumption in the oplock
authorJeremy Allison <jra@samba.org>
Tue, 24 Jul 2001 01:18:43 +0000 (01:18 +0000)
committerJeremy Allison <jra@samba.org>
Tue, 24 Jul 2001 01:18:43 +0000 (01:18 +0000)
break code path that was invalid (ie. we were assuming
we could infer a non-levelII oplock when such an oplock
was detected - this may no longer be valid once we've
processed the break process dealing with the break will
change the state of it anyway.
This prevents the state where we get the following packet
trace :

client                      server
NTcreate ->
                         <- NTcreate resp
NTcreate ->
                         <- break to level II
ok - broken ->
                         <- break to none

Thanks to Alan Romeril for providing the trace that allowed
me to track this down.

Jeremy.

source/smbd/open.c

index f67490b61d39afa8e17b404ca7729ec592f1103c..a32e0329213f6708e827076c67ad6b92fe82c082 100644 (file)
@@ -506,7 +506,6 @@ dev = %x, inode = %.0f\n", old_shares[i].op_type, fname, (unsigned int)dev, (dou
         }
 
         broke_oplock = True;
-        *p_all_current_opens_are_level_II = False;
         break;
 
       } else if (!LEVEL_II_OPLOCK_TYPE(share_entry->op_type)) {