From 253ad23a2cc9e177555ec692e537f760411a3517 Mon Sep 17 00:00:00 2001 From: Susant Palai Date: Wed, 20 Feb 2019 19:04:00 +0530 Subject: [PATCH 532/532] dht: fix double extra unref of inode at heal path The loc_wipe is done in the _out_ section, inode_unref(loc.parent) here casues a double extra unref of loc.parent. > Change-Id: I2dc809328d3d34bf7b02c7df9a4f97788af511e6 > updates: bz#1651439 > Signed-off-by: Kinglong Mee (cherrypick of https://review.gluster.org/#/c/glusterfs/+/21998/) Change-Id: I2e3b548fd283a02fff05d8485874203233affbe8 BUG: 1678232 Signed-off-by: Susant Palai Reviewed-on: https://code.engineering.redhat.com/gerrit/163382 Tested-by: Sunil Kumar Heggodu Gopala Acharya Tested-by: RHGS Build Bot Reviewed-by: Sunil Kumar Heggodu Gopala Acharya --- xlators/cluster/dht/src/dht-helper.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/xlators/cluster/dht/src/dht-helper.c b/xlators/cluster/dht/src/dht-helper.c index d35d7e8..6a8b653 100644 --- a/xlators/cluster/dht/src/dht-helper.c +++ b/xlators/cluster/dht/src/dht-helper.c @@ -1980,10 +1980,10 @@ dht_heal_path (xlator_t *this, char *path, inode_table_t *itable) */ linked_inode = loc.inode; bname = strtok_r (NULL, "/", &save_ptr); - inode_unref (loc.parent); if (!bname) { goto out; } + inode_unref (loc.parent); loc.parent = loc.inode; gf_uuid_copy (loc.pargfid, loc.inode->gfid); loc.inode = NULL; -- 1.8.3.1