diff options
| author | Kinglong Mee <kinglongmee@gmail.com> | 2019-01-08 16:38:45 +0800 | 
|---|---|---|
| committer | Raghavendra G <rgowdapp@redhat.com> | 2019-02-13 18:22:01 +0000 | 
| commit | d6e7ad2911ba8ae246c3a3ec62f04a712beca517 (patch) | |
| tree | 5a8561182db2897f737e449b688504759f8ede0f | |
| parent | b0f1d782fc45313fce4e1c0e74127401d5342d05 (diff) | |
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 <mijinlong@open-fs.com>
| -rw-r--r-- | xlators/cluster/dht/src/dht-helper.c | 2 | 
1 files changed, 1 insertions, 1 deletions
diff --git a/xlators/cluster/dht/src/dht-helper.c b/xlators/cluster/dht/src/dht-helper.c index 1a5ba256ffd..4c57e0d2efc 100644 --- a/xlators/cluster/dht/src/dht-helper.c +++ b/xlators/cluster/dht/src/dht-helper.c @@ -1919,10 +1919,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;  | 
