From e0c341737106f7678ee2446cedbaa734143714d4 Mon Sep 17 00:00:00 2001 From: Milind Changire Date: Wed, 20 Feb 2019 20:57:07 -0500 Subject: [PATCH] autobuild v3.12.2-45 Resolves: bz#1678232 Signed-off-by: Milind Changire --- ...le-extra-unref-of-inode-at-heal-path.patch | 43 +++++++++++++++++++ glusterfs.spec | 6 ++- 2 files changed, 48 insertions(+), 1 deletion(-) create mode 100644 0532-dht-fix-double-extra-unref-of-inode-at-heal-path.patch diff --git a/0532-dht-fix-double-extra-unref-of-inode-at-heal-path.patch b/0532-dht-fix-double-extra-unref-of-inode-at-heal-path.patch new file mode 100644 index 0000000..838afa8 --- /dev/null +++ b/0532-dht-fix-double-extra-unref-of-inode-at-heal-path.patch @@ -0,0 +1,43 @@ +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 + diff --git a/glusterfs.spec b/glusterfs.spec index 861e56e..3bd97dc 100644 --- a/glusterfs.spec +++ b/glusterfs.spec @@ -192,7 +192,7 @@ Release: 0.1%{?prereltag:.%{prereltag}}%{?dist} %else Name: glusterfs Version: 3.12.2 -Release: 43%{?dist} +Release: 45%{?dist} %endif License: GPLv2 or LGPLv3+ Group: System Environment/Base @@ -796,6 +796,7 @@ Patch0528: 0528-locks-handle-clear-locks-xattr-in-fgetxattr-too.patch Patch0529: 0529-fuse-SETLKW-interrupt.patch Patch0530: 0530-spec-fix-lua-script-execution-during-install.patch Patch0531: 0531-fuse-remove-the-duplicate-FUSE_FOP-calls.patch +Patch0532: 0532-dht-fix-double-extra-unref-of-inode-at-heal-path.patch %description GlusterFS is a distributed file-system capable of scaling to several @@ -2660,6 +2661,9 @@ fi %endif %changelog +* Thu Feb 21 2019 Milind Changire - 3.12.2-45 +- fixes bugs bz#1678232 + * Thu Feb 14 2019 Milind Changire - 3.12.2-43 - fixes bugs bz#1676904