From 2acc8c1f04d0376bedf36f1f746e542422344fa6 Mon Sep 17 00:00:00 2001 From: Pranith Kumar K Date: Fri, 10 May 2013 10:09:13 +0530 Subject: 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 Reviewed-on: http://review.gluster.org/4974 Reviewed-by: Raghavendra Bhat Reviewed-by: Krishnan Parthasarathi Reviewed-by: Amar Tumballi Tested-by: Gluster Build System --- xlators/cluster/dht/src/dht-helper.c | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) (limited to 'xlators/cluster/dht/src/dht-helper.c') diff --git a/xlators/cluster/dht/src/dht-helper.c b/xlators/cluster/dht/src/dht-helper.c index e91352c4c..52a24acc2 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) ret = 0; /* 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 -- cgit