From 700c3ab1c94fcd0ff422afa0e0e3faf419b3c5af Mon Sep 17 00:00:00 2001 From: Jim McDonough Date: Fri, 12 Jan 2007 21:56:25 +0000 Subject: r20717: Merge sharemode patch from Mathias Dietz . The patch fixes the behaviour of GPFS sharemodes when the access mask is no_access. (This used to be commit 799967c66879b4d6e28f1af6ba27c67f0b1deaeb) --- source3/modules/gpfs.c | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) (limited to 'source3') diff --git a/source3/modules/gpfs.c b/source3/modules/gpfs.c index f63a85294b..3fec7a479d 100644 --- a/source3/modules/gpfs.c +++ b/source3/modules/gpfs.c @@ -52,11 +52,16 @@ BOOL set_gpfs_sharemode(files_struct *fsp, uint32 access_mask, DELETE_ACCESS)) ? GPFS_SHARE_WRITE : 0; allow |= (access_mask & (FILE_READ_DATA|FILE_EXECUTE)) ? GPFS_SHARE_READ : 0; - deny |= (share_access & (FILE_SHARE_WRITE|FILE_SHARE_DELETE)) ? - 0 : GPFS_DENY_WRITE; - deny |= (share_access & (FILE_SHARE_READ)) ? - 0 : GPFS_DENY_READ; + if (allow == GPFS_SHARE_NONE) { + DEBUG(10, ("special case am=no_access:%x\n",access_mask)); + } + else { + deny |= (share_access & (FILE_SHARE_WRITE|FILE_SHARE_DELETE)) ? + 0 : GPFS_DENY_WRITE; + deny |= (share_access & (FILE_SHARE_READ)) ? + 0 : GPFS_DENY_READ; + } DEBUG(10, ("am=%x, allow=%d, sa=%x, deny=%d\n", access_mask, allow, share_access, deny)); -- cgit