summaryrefslogtreecommitdiffstats
path: root/glusterfsd/src/glusterfsd.c
diff options
context:
space:
mode:
authorAnand Avati <avati@redhat.com>2012-05-29 22:01:42 -0700
committerAnand Avati <avati@redhat.com>2012-05-29 22:58:07 -0700
commitf69785a9e3f9ad55e81f1fe8212485b7e4dc11fe (patch)
tree7c0ccc27d3f9ebbd13322260837cf24ccc0792a7 /glusterfsd/src/glusterfsd.c
parent647f561f6ad16174da700ea6b70f01b6e0ae6d96 (diff)
fuse: make SELinux support configurable
Make support for SELinux labels (extended attributes) configurable and disabled by default as it can cause significant performance penalty when enabled (it need not be enabled unless specially crafted policies are set -- which is not by default) Change-Id: I97bc4b1c26cf055fd520e9bf2d49e52b14fe7515 BUG: 811217 Signed-off-by: Anand Avati <avati@redhat.com> Reviewed-on: http://review.gluster.com/3485 Tested-by: Gluster Build System <jenkins@build.gluster.com>
Diffstat (limited to 'glusterfsd/src/glusterfsd.c')
-rw-r--r--glusterfsd/src/glusterfsd.c15
1 files changed, 15 insertions, 0 deletions
diff --git a/glusterfsd/src/glusterfsd.c b/glusterfsd/src/glusterfsd.c
index 903eac72a..ebd12bf0b 100644
--- a/glusterfsd/src/glusterfsd.c
+++ b/glusterfsd/src/glusterfsd.c
@@ -152,6 +152,8 @@ static struct argp_option gf_options[] = {
"Mount the filesystem in 'read-only' mode"},
{"acl", ARGP_ACL_KEY, 0, 0,
"Mount the filesystem with POSIX ACL support"},
+ {"selinux", ARGP_SELINUX_KEY, 0, 0,
+ "Enable SELinux label (extened attributes) support on inodes"},
{"worm", ARGP_WORM_KEY, 0, 0,
"Mount the filesystem in 'worm' mode"},
{"mac-compat", ARGP_MAC_COMPAT_KEY, "BOOL", OPTION_ARG_OPTIONAL,
@@ -348,6 +350,15 @@ create_fuse_mount (glusterfs_ctx_t *ctx)
}
}
+ if (cmd_args->selinux) {
+ ret = dict_set_static_ptr (master->options, "selinux", "on");
+ if (ret < 0) {
+ gf_log ("glusterfsd", GF_LOG_ERROR,
+ "failed to set dict value for key selinux");
+ goto err;
+ }
+ }
+
if (cmd_args->read_only) {
ret = dict_set_static_ptr (master->options, "read-only", "on");
if (ret < 0) {
@@ -564,6 +575,10 @@ parse_opts (int key, char *arg, struct argp_state *state)
cmd_args->acl = 1;
break;
+ case ARGP_SELINUX_KEY:
+ cmd_args->selinux = 1;
+ break;
+
case ARGP_WORM_KEY:
cmd_args->worm = 1;
break;