From 54a725694c47ce59f700c57424e77f9c13244460 Mon Sep 17 00:00:00 2001 From: Krishnan Parthasarathi Date: Tue, 10 Mar 2015 10:31:14 +0530 Subject: glusterd: don't start gluster-nfs when NFS is disabled Backport of http://review.gluster.org/9835 Change-Id: Iff9c8e8d2233048f3e5c9ee8b5af38ba10193cb9 BUG: 1199936 Signed-off-by: Krishnan Parthasarathi Reviewed-on: http://review.gluster.org/9843 Reviewed-by: Atin Mukherjee Tested-by: Gluster Build System Reviewed-by: Kaleb KEITHLEY Reviewed-by: Raghavendra Bhat --- xlators/mgmt/glusterd/src/glusterd-utils.c | 28 +++++++++++++++++++++++++++- 1 file changed, 27 insertions(+), 1 deletion(-) (limited to 'xlators/mgmt/glusterd/src') diff --git a/xlators/mgmt/glusterd/src/glusterd-utils.c b/xlators/mgmt/glusterd/src/glusterd-utils.c index ef53128e8c4..7ac6cf37134 100644 --- a/xlators/mgmt/glusterd/src/glusterd-utils.c +++ b/xlators/mgmt/glusterd/src/glusterd-utils.c @@ -6189,10 +6189,36 @@ out: return ret; } +static gf_boolean_t +glusterd_nfs_need_start () +{ + gf_boolean_t start = _gf_false; + glusterd_conf_t *priv = NULL; + glusterd_volinfo_t *volinfo = NULL; + + priv = THIS->private; + + list_for_each_entry (volinfo, &priv->volumes, vol_list) { + if (!glusterd_is_volume_started (volinfo)) + continue; + + if (dict_get_str_boolean (volinfo->dict, "nfs.disable", 0)) + continue; + + start = _gf_true; + break; + } + + return start; +} + int glusterd_nfs_server_start () { - return glusterd_nodesvc_start ("nfs", _gf_false); + if (glusterd_nfs_need_start ()) + return glusterd_nodesvc_start ("nfs", _gf_false); + + return 0; } int -- cgit