1
0
mirror of https://github.com/samba-team/samba.git synced 2024-12-23 17:34:34 +03:00

opendb_tdb: with break_to_none attribute only opens also break oplocks

metze
(This used to be commit c475353e34)
This commit is contained in:
Stefan Metzmacher 2008-02-26 12:52:46 +01:00
parent 55377f0352
commit 2b94ffe5e7

View File

@ -288,7 +288,8 @@ static NTSTATUS odb_oplock_break_send(struct odb_context *odb,
}
static bool access_attributes_only(uint32_t access_mask,
uint32_t open_disposition)
uint32_t open_disposition,
bool break_to_none)
{
switch (open_disposition) {
case NTCREATEX_DISP_SUPERSEDE:
@ -298,6 +299,11 @@ static bool access_attributes_only(uint32_t access_mask,
default:
break;
}
if (break_to_none) {
return false;
}
#define CHECK_MASK(m,g) ((m) && (((m) & ~(g))==0) && (((m) & (g)) != 0))
return CHECK_MASK(access_mask,
SEC_STD_SYNCHRONIZE |
@ -326,7 +332,8 @@ static NTSTATUS odb_tdb_open_can_internal(struct odb_context *odb,
* but we'll not grant the oplock below
*/
attrs_only = access_attributes_only(access_mask,
open_disposition);
open_disposition,
break_to_none);
if (attrs_only) {
break;
}