summaryrefslogtreecommitdiff
path: root/source3/smbd/close.c
diff options
context:
space:
mode:
authorRalph Boehme <slow@samba.org>2015-11-27 18:29:55 +0100
committerJeremy Allison <jra@samba.org>2015-12-01 20:45:20 +0100
commitd698cec1c7e700e57cab46d33df0dde13303b318 (patch)
treea223f4ae9a014c7be76e7cd3ebed7e8b42e48289 /source3/smbd/close.c
parentd2a0806cbd24f6211b55a5454e2e62fc61a4c4b6 (diff)
downloadsamba-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.c6
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) &&