diff options
author | Avra Sengupta <asengupt@redhat.com> | 2016-12-19 13:52:59 +0530 |
---|---|---|
committer | Aravinda VK <avishwan@redhat.com> | 2017-02-03 01:25:56 -0500 |
commit | a583e14056ba0358ed4e3689d19dbf59089086fe (patch) | |
tree | 0593756bde543877442de2db1783c3f71635a283 /xlators/mgmt/glusterd/src/glusterd-ganesha.c | |
parent | 4017f2415f128d91256004fbfbbd7bfe376cf241 (diff) |
snapshot: Fix restore rollback to reassign snap volume ids to bricks
Added further checks to ensure we do not go beyond prevalidate
when trying to restore a snapshot which has a nfs-gansha conf
file, in a cluster when nfs-ganesha is not enabled
The error message for the particular scenario is:
"Snapshot(<snapname>) has a nfs-ganesha export conf
file. cluster.enable-shared-storage and nfs-ganesha
should be enabled before restoring this snapshot."
> Reviewed-on: http://review.gluster.org/16116
> Reviewed-by: Rajesh Joseph <rjoseph@redhat.com>
> Smoke: Gluster Build System <jenkins@build.gluster.org>
> NetBSD-regression: NetBSD Build System <jenkins@build.gluster.org>
> CentOS-regression: Gluster Build System <jenkins@build.gluster.org>
Change-Id: I1b87e9907e0a5e162f26ef1ca89fe76e8da8610f
BUG: 1405909
Signed-off-by: Avra Sengupta <asengupt@redhat.com>
Reviewed-on: https://review.gluster.org/16195
Smoke: Gluster Build System <jenkins@build.gluster.org>
NetBSD-regression: NetBSD Build System <jenkins@build.gluster.org>
Reviewed-by: jiffin tony Thottan <jthottan@redhat.com>
CentOS-regression: Gluster Build System <jenkins@build.gluster.org>
Reviewed-by: Aravinda VK <avishwan@redhat.com>
Diffstat (limited to 'xlators/mgmt/glusterd/src/glusterd-ganesha.c')
-rw-r--r-- | xlators/mgmt/glusterd/src/glusterd-ganesha.c | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/xlators/mgmt/glusterd/src/glusterd-ganesha.c b/xlators/mgmt/glusterd/src/glusterd-ganesha.c index 746a3d1e364..8dde82e89ed 100644 --- a/xlators/mgmt/glusterd/src/glusterd-ganesha.c +++ b/xlators/mgmt/glusterd/src/glusterd-ganesha.c @@ -159,6 +159,38 @@ manage_service (char *action) " not recognized.", action); return ret; } + +/* + * Check if the cluster is a ganesha cluster or not * + */ +gf_boolean_t +glusterd_is_ganesha_cluster () { + int ret = -1; + glusterd_conf_t *priv = NULL; + xlator_t *this = NULL; + gf_boolean_t ret_bool = _gf_false; + + this = THIS; + GF_VALIDATE_OR_GOTO ("ganesha", this, out); + priv = this->private; + GF_VALIDATE_OR_GOTO (this->name, priv, out); + + ret = dict_get_str_boolean (priv->opts, + GLUSTERD_STORE_KEY_GANESHA_GLOBAL, + _gf_false); + if (ret == _gf_true) { + ret_bool = _gf_true; + gf_msg_debug (this->name, 0, + "nfs-ganesha is enabled for the cluster"); + } else + gf_msg_debug (this->name, 0, + "nfs-ganesha is disabled for the cluster"); + +out: + return ret_bool; + +} + /* Check if ganesha.enable is set to 'on', that checks if * a particular volume is exported via NFS-Ganesha */ gf_boolean_t |