diff options
author | Ralph Boehme <slow@samba.org> | 2015-11-27 18:29:55 +0100 |
---|---|---|
committer | Jeremy Allison <jra@samba.org> | 2015-12-01 20:45:20 +0100 |
commit | d698cec1c7e700e57cab46d33df0dde13303b318 (patch) | |
tree | a223f4ae9a014c7be76e7cd3ebed7e8b42e48289 /source3/smbd/close.c | |
parent | d2a0806cbd24f6211b55a5454e2e62fc61a4c4b6 (diff) | |
download | samba-d698cec1c7e700e57cab46d33df0dde13303b318.tar.gz |
s3:smbd: convert file_struct.posix_open to a bitmap with flags
This is in preperation of a more fine grained control of POSIX behaviour
in the SMB and VFS layers.
Inititally we use an uint8_t for the flags bitmap and add a define
posix_flags as posix_open in order to avoid breaking the VFS ABI.
Bug: https://bugzilla.samba.org/show_bug.cgi?id=11065
Signed-off-by: Ralph Boehme <slow@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
Diffstat (limited to 'source3/smbd/close.c')
-rw-r--r-- | source3/smbd/close.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/source3/smbd/close.c b/source3/smbd/close.c index 0e75bf05c91..1cb546055d0 100644 --- a/source3/smbd/close.c +++ b/source3/smbd/close.c @@ -327,7 +327,7 @@ static NTSTATUS close_remove_share_mode(files_struct *fsp, if (e->name_hash != fsp->name_hash) { continue; } - if (fsp->posix_open + if ((fsp->posix_flags & FSP_POSIX_FLAGS_OPEN) && (e->flags & SHARE_MODE_FLAG_POSIX_OPEN)) { continue; } @@ -1103,7 +1103,9 @@ static NTSTATUS close_directory(struct smb_request *req, files_struct *fsp, struct share_mode_entry *e = &lck->data->share_modes[i]; if (is_valid_share_mode_entry(e) && e->name_hash == fsp->name_hash) { - if (fsp->posix_open && (e->flags & SHARE_MODE_FLAG_POSIX_OPEN)) { + if ((fsp->posix_flags & FSP_POSIX_FLAGS_OPEN) && + (e->flags & SHARE_MODE_FLAG_POSIX_OPEN)) + { continue; } if (serverid_equal(&self, &e->pid) && |