glusterfs/0089-glusterd-gNFS-On-post-upgrade-to-3.2-disable-gNFS-fo.patch

86 lines
4.0 KiB
Diff

From 8ba7e04362019ea2d0e80e67eb214d53dca58774 Mon Sep 17 00:00:00 2001
From: Jiffin Tony Thottan <jthottan@redhat.com>
Date: Thu, 17 Nov 2016 12:44:38 +0530
Subject: [PATCH 089/124] glusterd/gNFS : On post upgrade to 3.2, disable gNFS
for all volumes
Currently on 3.2 gNFS is dsiabled for newly created volumes or old volumes
with default value. There will be volumes which have explicitly turn off
nfs.disable option. This change disable gNFS even for that volume as well.
label : DOWNSTREAM ONLY
Change-Id: I4ddeb23690271034b0bbb3fc50b359350b5eae87
Signed-off-by: Jiffin Tony Thottan <jthottan@redhat.com>
Reviewed-on: https://code.engineering.redhat.com/gerrit/90425
Reviewed-by: Atin Mukherjee <amukherj@redhat.com>
Tested-by: Atin Mukherjee <amukherj@redhat.com>
Signed-off-by: Jiffin Tony Thottan <jthottan@redhat.com>
Reviewed-on: https://code.engineering.redhat.com/gerrit/167573
Tested-by: RHGS Build Bot <nigelb@redhat.com>
Reviewed-by: Soumya Koduri <skoduri@redhat.com>
---
xlators/mgmt/glusterd/src/glusterd-op-sm.c | 43 ++++++++++++++++++------------
1 file changed, 26 insertions(+), 17 deletions(-)
diff --git a/xlators/mgmt/glusterd/src/glusterd-op-sm.c b/xlators/mgmt/glusterd/src/glusterd-op-sm.c
index 10e2d48..06ea8cf 100644
--- a/xlators/mgmt/glusterd/src/glusterd-op-sm.c
+++ b/xlators/mgmt/glusterd/src/glusterd-op-sm.c
@@ -2501,26 +2501,35 @@ glusterd_update_volumes_dict(glusterd_volinfo_t *volinfo)
GF_VALIDATE_OR_GOTO(this->name, conf, out);
/* 3.9.0 onwards gNFS will be disabled by default. In case of an upgrade
- * from anything below than 3.9.0 to 3.9.x the volume's dictionary will
- * not have 'nfs.disable' key set which means the same will not be set
- * to on until explicitly done. setnfs.disable to 'on' at op-version
- * bump up flow is the ideal way here. The same is also applicable for
- * transport.address-family where if the transport type is set to tcp
- * then transport.address-family is defaulted to 'inet'.
+ * from anything below than 3.9.0 to 3.9.x, the value for nfs.disable is
+ * set to 'on' for all volumes even if it is explicitly set to 'off' in
+ * previous version. This change is only applicable to downstream code.
+ * Setting nfs.disable to 'on' at op-version bump up flow is the ideal
+ * way here. The same is also applicable for transport.address-family
+ * where if the transport type is set to tcp then transport.address-family
+ * is defaulted to 'inet'.
*/
if (conf->op_version >= GD_OP_VERSION_3_9_0) {
- if (dict_get_str_boolean(volinfo->dict, NFS_DISABLE_MAP_KEY, 1)) {
- ret = dict_set_dynstr_with_alloc(volinfo->dict, NFS_DISABLE_MAP_KEY,
- "on");
- if (ret) {
- gf_msg(this->name, GF_LOG_ERROR, errno, GD_MSG_DICT_SET_FAILED,
- "Failed to set "
- "option ' NFS_DISABLE_MAP_KEY ' on "
- "volume %s",
- volinfo->volname);
- goto out;
- }
+ if (!(dict_get_str_boolean(volinfo->dict, NFS_DISABLE_MAP_KEY, 0))) {
+ gf_msg(this->name, GF_LOG_INFO, 0, 0,
+ "Gluster NFS is"
+ " being deprecated in favor of NFS-Ganesha, "
+ "hence setting nfs.disable to 'on' for volume "
+ "%s. Please re-enable it if requires",
+ volinfo->volname);
+ }
+
+ ret = dict_set_dynstr_with_alloc(volinfo->dict, NFS_DISABLE_MAP_KEY,
+ "on");
+ if (ret) {
+ gf_msg(this->name, GF_LOG_ERROR, errno, GD_MSG_DICT_SET_FAILED,
+ "Failed to set "
+ "option ' NFS_DISABLE_MAP_KEY ' on "
+ "volume %s",
+ volinfo->volname);
+ goto out;
}
+
ret = dict_get_strn(volinfo->dict, "transport.address-family",
SLEN("transport.address-family"),
&address_family_str);
--
1.8.3.1