summaryrefslogtreecommitdiffstats
path: root/xlators/cluster/afr/src/afr.c
diff options
context:
space:
mode:
authorRavishankar N <ravishankar@redhat.com>2015-12-21 10:09:53 +0000
committerPranith Kumar Karampuri <pkarampu@redhat.com>2015-12-21 20:30:47 -0800
commit4bfbabfdd698e93a1dc1aad5590ed18f10936c55 (patch)
tree17a4cc32522f5acc8c367957a6553ccf77f5e659 /xlators/cluster/afr/src/afr.c
parent7237f8f0d72743d2522b7db1be928c5016713c59 (diff)
afr: warn if pending xattrs missing during init()
Since commit 6e635284a4411b816d4d860a28262c9e6dc4bd6a (glusterfs-3.7.7), the afr pending xattrs are stored in the volfile and used by afr when it initializes. If a cluster is upgraded, prevent afr from loading until the op-version has been bumped up to 3.7.7 and the volfiles have been regenerated using a volume set command. Without this fix, AFR will crash when initialzing. Change-Id: I14249dedb3f2f77cd754d78d8a9a70fdc5fc8c10 BUG: 1293293 Signed-off-by: Ravishankar N <ravishankar@redhat.com> Reviewed-on: http://review.gluster.org/13038 Tested-by: Gluster Build System <jenkins@build.gluster.com> Tested-by: NetBSD Build System <jenkins@build.gluster.org> Reviewed-by: Pranith Kumar Karampuri <pkarampu@redhat.com>
Diffstat (limited to 'xlators/cluster/afr/src/afr.c')
-rw-r--r--xlators/cluster/afr/src/afr.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/xlators/cluster/afr/src/afr.c b/xlators/cluster/afr/src/afr.c
index a3a4490d063..98e4d3e2699 100644
--- a/xlators/cluster/afr/src/afr.c
+++ b/xlators/cluster/afr/src/afr.c
@@ -407,6 +407,13 @@ init (xlator_t *this)
ret = -ENOMEM;
goto out;
}
+ if (!xattrs_list) {
+ ret = -EINVAL;
+ gf_msg (this->name, GF_LOG_ERROR, -ret, AFR_MSG_NO_CHANGELOG,
+ "Unable to fetch afr pending changelogs. Is op-version"
+ " >= 30707?");
+ goto out;
+ }
ptr = gf_strdup (xattrs_list);
if (!ptr) {
ret = -ENOMEM;