summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDan Lambright <dlambrig@redhat.com>2015-08-12 09:34:26 -0400
committerDan Lambright <dlambrig@redhat.com>2015-08-12 09:09:28 -0700
commit67d6b5ad5d25cade63eb6eccd2b22016ea02c6a4 (patch)
treebc3b9390df2d56c4095ffabcb0251ec09b105dd7
parenta6243c3b1cbeb059da98a9260730fc9767fe8b44 (diff)
cluster/tier: fix demotion when cold tier is EC
This is a backport of 11855. We did not set the gfid in the loc structure in tier demotion. EC has a sanity check which fails FOPs when the loc gfid mismatches with the file attribute. When the FOP failed demotion was aborted. > Change-Id: I69022c9ccb135b86e1feea93b01801b6a4100509 > BUG: 1251121 > Signed-off-by: Dan Lambright <dlambrig@redhat.com> Change-Id: I266d554e3e0a2ff024a5ba3a7e9ca40866688eae BUG: 1252907 Signed-off-by: Dan Lambright <dlambrig@redhat.com> Reviewed-on: http://review.gluster.org/11901 Reviewed-by: mohammed rafi kc <rkavunga@redhat.com> Tested-by: NetBSD Build System <jenkins@build.gluster.org>
-rw-r--r--xlators/cluster/dht/src/tier.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/xlators/cluster/dht/src/tier.c b/xlators/cluster/dht/src/tier.c
index 97482fc3112..3f1ff9dc0df 100644
--- a/xlators/cluster/dht/src/tier.c
+++ b/xlators/cluster/dht/src/tier.c
@@ -354,6 +354,8 @@ tier_migrate_using_query_file (void *_args)
goto error;
}
+ gf_uuid_copy (loc.gfid, loc.inode->gfid);
+
ret = syncop_setxattr (this, &loc, migrate_data, 0,
NULL, NULL);
if (ret) {