summaryrefslogtreecommitdiff
path: root/source3/include/smb.h
diff options
context:
space:
mode:
authorJeremy Allison <jra@samba.org>2006-05-30 18:17:37 +0000
committerGerald (Jerry) Carter <jerry@samba.org>2007-10-10 11:17:14 -0500
commit7361c7a883646dd065eabf81e0b1dc60cc9d1f39 (patch)
treec355c3da953c8b21b79bd5b579550d7d1e1c090b /source3/include/smb.h
parentbef4969247da237e7b50fd2abd207de92e9bc980 (diff)
downloadsamba-7361c7a883646dd065eabf81e0b1dc60cc9d1f39.tar.gz
samba-7361c7a883646dd065eabf81e0b1dc60cc9d1f39.tar.bz2
samba-7361c7a883646dd065eabf81e0b1dc60cc9d1f39.zip
r15958: Make us pass RAW-OPLOCK with kernel oplocks off.
This allows a requestor to set FORCE_OPLOCK_BREAK_TO_NONE to ensure we don't break to level 2. Fixed a couple of resource leaks in error paths in open_file_ntcreatex. Jeremy. (This used to be commit c7c9adcce7f13d01445f31b07fb28a76f0a1d6df)
Diffstat (limited to 'source3/include/smb.h')
-rw-r--r--source3/include/smb.h9
1 files changed, 8 insertions, 1 deletions
diff --git a/source3/include/smb.h b/source3/include/smb.h
index f06c551cc0..41ffce1a15 100644
--- a/source3/include/smb.h
+++ b/source3/include/smb.h
@@ -1541,18 +1541,25 @@ extern int chain_size;
/*
* Bits we test with.
+ * Note these must fit into 16-bits.
*/
-
+
#define NO_OPLOCK 0
#define EXCLUSIVE_OPLOCK 1
#define BATCH_OPLOCK 2
#define LEVEL_II_OPLOCK 4
+
+/* The following are Samba-private. */
#define INTERNAL_OPEN_ONLY 8
#define FAKE_LEVEL_II_OPLOCK 16 /* Client requested no_oplock, but we have to
* inform potential level2 holders on
* write. */
#define DEFERRED_OPEN_ENTRY 32
#define UNUSED_SHARE_MODE_ENTRY 64
+#define FORCE_OPLOCK_BREAK_TO_NONE 128
+
+/* None of the following should ever appear in fsp->oplock_request. */
+#define SAMBA_PRIVATE_OPLOCK_MASK (INTERNAL_OPEN_ONLY|DEFERRED_OPEN_ENTRY|UNUSED_SHARE_MODE_ENTRY|FORCE_OPLOCK_BREAK_TO_NONE)
#define EXCLUSIVE_OPLOCK_TYPE(lck) ((lck) & ((unsigned int)EXCLUSIVE_OPLOCK|(unsigned int)BATCH_OPLOCK))
#define BATCH_OPLOCK_TYPE(lck) ((lck) & (unsigned int)BATCH_OPLOCK)