dev-zero 14/06/25 15:48:20
Added:
glusterfs-3.4.4-cluster-dht-Don-t-do-extra-unref-in-dht-migration-ch.patch
Log:
Revision bump to pull in yet another important fix for 3.4.4 (client crash
after rebalance, upstream bug #961615).
(Portage version: 2.2.10/cvs/Linux x86_64, signed Manifest commit with key
0x1A5D023975B0583D!)
Revision Changes Path
1.1
sys-cluster/glusterfs/files/glusterfs-3.4.4-cluster-dht-Don-t-do-extra-unref-in-dht-migration-ch.patch
file :
http://sources.gentoo.org/viewvc.cgi/gentoo-x86/sys-cluster/glusterfs/files/glusterfs-3.4.4-cluster-dht-Don-t-do-extra-unref-in-dht-migration-ch.patch?rev=1.1&view=markup
plain:
http://sources.gentoo.org/viewvc.cgi/gentoo-x86/sys-cluster/glusterfs/files/glusterfs-3.4.4-cluster-dht-Don-t-do-extra-unref-in-dht-migration-ch.patch?rev=1.1&content-type=text/plain
Index:
glusterfs-3.4.4-cluster-dht-Don-t-do-extra-unref-in-dht-migration-ch.patch
===================================================================
>From 2b789331dc933b186360fc8cbffb06289ee60ee9 Mon Sep 17 00:00:00 2001
From: Vijay Bellur <[email protected]>
Date: Tue, 10 Jun 2014 22:21:28 +0530
Subject: [PATCH 1/3] cluster/dht: Don't do extra unref in dht-migration checks
Problem:
syncop_open used to perform a ref in syncop_open_cbk so the extra
unref was needed but now syncop_open_cbk does not take a ref so no
need to do extra unref.
Fix:
remove the extra fd_unref and let dht_local_wipe do the final unref.
Change-Id: Ibe8f9a678d456a0c7bff175306068b5cd297ecc4
BUG: 961615
Signed-off-by: Pranith Kumar K <[email protected]>
Signed-off-by: Vijay Bellur <[email protected]>
Reviewed-on: http://review.gluster.org/8029
Tested-by: Gluster Build System <[email protected]>
Tested-by: Joe Julian <[email protected]>
Reviewed-by: Kaleb KEITHLEY <[email protected]>
---
xlators/cluster/dht/src/dht-helper.c | 7 ++-----
1 file changed, 2 insertions(+), 5 deletions(-)
diff --git a/xlators/cluster/dht/src/dht-helper.c
b/xlators/cluster/dht/src/dht-helper.c
index ef29e3f..dd8dc49 100644
--- a/xlators/cluster/dht/src/dht-helper.c
+++ b/xlators/cluster/dht/src/dht-helper.c
@@ -802,13 +802,10 @@ dht_migration_complete_check_task (void *data)
if (!local->fd)
goto out;
/* once we detect the migration complete, the fd-ctx is no more
- required.. delete the ctx, and do one extra 'fd_unref' for open fd
*/
+ required.. delete the ctx */
ret = fd_ctx_del (local->fd, this, NULL);
- if (!ret) {
- fd_unref (local->fd);
- ret = 0;
+ if (!ret)
goto out;
- }
/* perform open as root:root. There is window between linkfile
* creation(root:root) and setattr with the correct uid/gid
--
1.9.2