1 |
dev-zero 14/06/25 15:48:20 |
2 |
|
3 |
Added: |
4 |
glusterfs-3.4.4-cluster-dht-Don-t-do-extra-unref-in-dht-migration-ch.patch |
5 |
Log: |
6 |
Revision bump to pull in yet another important fix for 3.4.4 (client crash after rebalance, upstream bug #961615). |
7 |
|
8 |
(Portage version: 2.2.10/cvs/Linux x86_64, signed Manifest commit with key 0x1A5D023975B0583D!) |
9 |
|
10 |
Revision Changes Path |
11 |
1.1 sys-cluster/glusterfs/files/glusterfs-3.4.4-cluster-dht-Don-t-do-extra-unref-in-dht-migration-ch.patch |
12 |
|
13 |
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 |
14 |
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 |
15 |
|
16 |
Index: glusterfs-3.4.4-cluster-dht-Don-t-do-extra-unref-in-dht-migration-ch.patch |
17 |
=================================================================== |
18 |
From 2b789331dc933b186360fc8cbffb06289ee60ee9 Mon Sep 17 00:00:00 2001 |
19 |
From: Vijay Bellur <vbellur@××××××.com> |
20 |
Date: Tue, 10 Jun 2014 22:21:28 +0530 |
21 |
Subject: [PATCH 1/3] cluster/dht: Don't do extra unref in dht-migration checks |
22 |
|
23 |
Problem: |
24 |
syncop_open used to perform a ref in syncop_open_cbk so the extra |
25 |
unref was needed but now syncop_open_cbk does not take a ref so no |
26 |
need to do extra unref. |
27 |
|
28 |
Fix: |
29 |
remove the extra fd_unref and let dht_local_wipe do the final unref. |
30 |
|
31 |
Change-Id: Ibe8f9a678d456a0c7bff175306068b5cd297ecc4 |
32 |
BUG: 961615 |
33 |
Signed-off-by: Pranith Kumar K <pkarampu@××××××.com> |
34 |
Signed-off-by: Vijay Bellur <vbellur@××××××.com> |
35 |
Reviewed-on: http://review.gluster.org/8029 |
36 |
Tested-by: Gluster Build System <jenkins@×××××××××××××.com> |
37 |
Tested-by: Joe Julian <joe@××××××××××××.org> |
38 |
Reviewed-by: Kaleb KEITHLEY <kkeithle@××××××.com> |
39 |
--- |
40 |
xlators/cluster/dht/src/dht-helper.c | 7 ++----- |
41 |
1 file changed, 2 insertions(+), 5 deletions(-) |
42 |
|
43 |
diff --git a/xlators/cluster/dht/src/dht-helper.c b/xlators/cluster/dht/src/dht-helper.c |
44 |
index ef29e3f..dd8dc49 100644 |
45 |
--- a/xlators/cluster/dht/src/dht-helper.c |
46 |
+++ b/xlators/cluster/dht/src/dht-helper.c |
47 |
@@ -802,13 +802,10 @@ dht_migration_complete_check_task (void *data) |
48 |
if (!local->fd) |
49 |
goto out; |
50 |
/* once we detect the migration complete, the fd-ctx is no more |
51 |
- required.. delete the ctx, and do one extra 'fd_unref' for open fd */ |
52 |
+ required.. delete the ctx */ |
53 |
ret = fd_ctx_del (local->fd, this, NULL); |
54 |
- if (!ret) { |
55 |
- fd_unref (local->fd); |
56 |
- ret = 0; |
57 |
+ if (!ret) |
58 |
goto out; |
59 |
- } |
60 |
|
61 |
/* perform open as root:root. There is window between linkfile |
62 |
* creation(root:root) and setattr with the correct uid/gid |
63 |
-- |
64 |
1.9.2 |