summaryrefslogtreecommitdiffstats
path: root/rpc
diff options
context:
space:
mode:
authorAmar Tumballi <amarts@redhat.com>2012-07-26 17:16:00 +0530
committerVijay Bellur <vbellur@redhat.com>2012-08-09 09:38:37 -0700
commita1d071374365a10ebef508c38c39f61da0a0f855 (patch)
tree11ef50220d985acfb2dcc12a76b4346ee02d3dc2 /rpc
parent475efecfba7194c598a94879852bcd37ac2deb5d (diff)
acl: enable handling of FMODE_EXEC flag
on linux systems, with open(), we can get below flag as per 'linux/fs.h'. /* File is opened for execution with sys_execve / sys_uselib */ '#define FMODE_EXEC ((fmode_t)0x20)' Instead of adding '#include <linux/fs.h>, its better to copy this absolute number into other variable because then we have to deal with declaring fmode_t etc etc.. With the fix, we can handle the file with '0711' permissions in the same way as backend linux filesystems. Change-Id: Ib1097fc0d2502af89c92d561eb4123cba15713f5 Signed-off-by: Amar Tumballi <amarts@redhat.com> BUG: 843960 Reviewed-on: http://review.gluster.com/3746 Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Vijay Bellur <vbellur@redhat.com>
Diffstat (limited to 'rpc')
-rw-r--r--rpc/xdr/src/glusterfs3.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/rpc/xdr/src/glusterfs3.h b/rpc/xdr/src/glusterfs3.h
index 82a9e20..df0f1d1 100644
--- a/rpc/xdr/src/glusterfs3.h
+++ b/rpc/xdr/src/glusterfs3.h
@@ -54,6 +54,8 @@
#define GF_O_LARGEFILE 0100000
+#define GF_O_FMODE_EXEC 040
+
#define XLATE_BIT(from, to, bit) do { \
if (from & bit) \
to = to | GF_##bit; \
@@ -112,6 +114,7 @@ gf_flags_from_flags (uint32_t flags)
XLATE_BIT (flags, gf_flags, O_CLOEXEC);
#endif
XLATE_BIT (flags, gf_flags, O_LARGEFILE);
+ XLATE_BIT (flags, gf_flags, O_FMODE_EXEC);
return gf_flags;
}
@@ -142,6 +145,7 @@ gf_flags_to_flags (uint32_t gf_flags)
UNXLATE_BIT (gf_flags, flags, O_CLOEXEC);
#endif
UNXLATE_BIT (gf_flags, flags, O_LARGEFILE);
+ UNXLATE_BIT (gf_flags, flags, O_FMODE_EXEC);
return flags;
}