blob: c26085a9dfe790b6745f5d4eb73f4700797e5a47 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
|
From 2b789331dc933b186360fc8cbffb06289ee60ee9 Mon Sep 17 00:00:00 2001
From: Vijay Bellur <vbellur@redhat.com>
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 <pkarampu@redhat.com>
Signed-off-by: Vijay Bellur <vbellur@redhat.com>
Reviewed-on: http://review.gluster.org/8029
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Tested-by: Joe Julian <joe@julianfamily.org>
Reviewed-by: Kaleb KEITHLEY <kkeithle@redhat.com>
---
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
|