summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--xlators/storage/posix/src/xattr-cache.c18
1 files changed, 18 insertions, 0 deletions
diff --git a/xlators/storage/posix/src/xattr-cache.c b/xlators/storage/posix/src/xattr-cache.c
index a39c35ae234..0af4e353625 100644
--- a/xlators/storage/posix/src/xattr-cache.c
+++ b/xlators/storage/posix/src/xattr-cache.c
@@ -40,6 +40,24 @@ __hgetxattr (xattr_cache_handle_t *handle, xlator_t *this,
if (op_ret == -1)
op_ret = -errno;
+
+ if (errno == ERANGE) {
+ /*
+ * xattr array is bigger than expected.
+ * This usually happens when user reduces
+ * the number of AFR's children but continues
+ * to use the old backend.
+ */
+
+ gf_log (this->name, GF_LOG_WARNING,
+ "%s: Have you reduced the number of "
+ "cluster/replicate's children but are "
+ "continuing to use the same backend? "
+ "Please populate the backend freshly "
+ "when doing such a migration.",
+ strerror (errno));
+ }
+
} else {
ret = fd_ctx_get (handle->fd, this, &tmp_pfd);
if (ret < 0) {