Batch oplocks conflict with exclusive as well as themselves.
authorJeremy Allison <jra@samba.org>
Thu, 24 Feb 2011 19:59:35 +0000 (11:59 -0800)
committerJeremy Allison <jra@samba.org>
Thu, 24 Feb 2011 20:44:50 +0000 (21:44 +0100)
Autobuild-User: Jeremy Allison <jra@samba.org>
Autobuild-Date: Thu Feb 24 21:44:50 CET 2011 on sn-devel-104

source3/smbd/open.c

index cd3fb06f25a82d523c8339d2259e61cea6ba09a8..d66f9bae170b7507307d3fac97b1066aa9c83aa0 100644 (file)
@@ -946,7 +946,7 @@ static void find_oplock_types(struct share_mode_lock *lck,
 
                if (BATCH_OPLOCK_TYPE(lck->share_modes[i].op_type)) {
                        /* batch - can only be one. */
-                       if (*pp_batch || *got_level2 || *got_no_oplock) {
+                       if (*pp_ex_or_batch || *pp_batch || *got_level2 || *got_no_oplock) {
                                smb_panic("Bad batch oplock entry.");
                        }
                        *pp_batch = &lck->share_modes[i];