diff options
author | Jeremy Allison <jra@samba.org> | 2006-05-30 18:17:37 +0000 |
---|---|---|
committer | Gerald (Jerry) Carter <jerry@samba.org> | 2007-10-10 11:17:14 -0500 |
commit | 7361c7a883646dd065eabf81e0b1dc60cc9d1f39 (patch) | |
tree | c355c3da953c8b21b79bd5b579550d7d1e1c090b /source3/include | |
parent | bef4969247da237e7b50fd2abd207de92e9bc980 (diff) | |
download | samba-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')
-rw-r--r-- | source3/include/smb.h | 9 |
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) |