From: Christof Schmitt Date: Mon, 30 Dec 2019 22:33:03 +0000 (-0700) Subject: vfs_gpfs: Move mapping from access mask to sharemode allow to helper function X-Git-Tag: ldb-2.1.0~102 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=05c54b72c5ad3c8bce18f9a38413032e5224e644;p=thirdparty%2Fsamba.git vfs_gpfs: Move mapping from access mask to sharemode allow to helper function Signed-off-by: Christof Schmitt Reviewed-by: Jeremy Allison --- diff --git a/source3/modules/vfs_gpfs.c b/source3/modules/vfs_gpfs.c index dff2f204df3..c25a2b9e056 100644 --- a/source3/modules/vfs_gpfs.c +++ b/source3/modules/vfs_gpfs.c @@ -77,6 +77,20 @@ static inline gpfs_ace_v4_t *gpfs_ace_ptr(gpfs_acl_t *gacl, unsigned int i) return &gacl->ace_v4[i]; } +static unsigned int vfs_gpfs_access_mask_to_allow(uint32_t access_mask) +{ + unsigned int allow = GPFS_SHARE_NONE; + + if (access_mask & (FILE_WRITE_DATA|FILE_APPEND_DATA)) { + allow |= GPFS_SHARE_WRITE; + } + if (access_mask & (FILE_READ_DATA|FILE_EXECUTE)) { + allow |= GPFS_SHARE_READ; + } + + return allow; +} + static bool set_gpfs_sharemode(files_struct *fsp, uint32_t access_mask, uint32_t share_access) { @@ -84,10 +98,7 @@ static bool set_gpfs_sharemode(files_struct *fsp, uint32_t access_mask, unsigned int deny = GPFS_DENY_NONE; int result; - allow |= (access_mask & (FILE_WRITE_DATA|FILE_APPEND_DATA)) ? - GPFS_SHARE_WRITE : 0; - allow |= (access_mask & (FILE_READ_DATA|FILE_EXECUTE)) ? - GPFS_SHARE_READ : 0; + allow = vfs_gpfs_access_mask_to_allow(access_mask); if (allow == GPFS_SHARE_NONE) { DEBUG(10, ("special case am=no_access:%x\n",access_mask));