diff options
authorVijay Bellur <>2014-06-10 22:21:28 +0530
committerKaleb KEITHLEY <>2014-06-18 05:17:34 -0700
commit2b789331dc933b186360fc8cbffb06289ee60ee9 (patch)
parent8005d56f080a27f2f408a85f2bf28b3470668ece (diff)
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 <> Signed-off-by: Vijay Bellur <> Reviewed-on: Tested-by: Gluster Build System <> Tested-by: Joe Julian <> Reviewed-by: Kaleb KEITHLEY <>
1 files 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