summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDan Lambright <dlambrig@redhat.com>2015-08-06 09:59:35 -0400
committerDan Lambright <dlambrig@redhat.com>2015-08-12 04:49:08 -0700
commite65160c5bec78e7385eedf3cf02d9cdcb756db0c (patch)
treedf034ab45674bb3cdb70884b6c8009a3e3358cc2
parent06c3cf61249e05ae1212a43d5fc1db57bad5f718 (diff)
cluster/tier: fix demotion when cold tier is EC
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> Reviewed-on: http://review.gluster.org/11855 Tested-by: NetBSD Build System <jenkins@build.gluster.org> Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: mohammed rafi kc <rkavunga@redhat.com> Reviewed-by: Venky Shankar <vshankar@redhat.com>
-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 650414c50d9..66a08d10801 100644
--- a/xlators/cluster/dht/src/tier.c
+++ b/xlators/cluster/dht/src/tier.c
@@ -350,6 +350,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) {