diff options
Diffstat (limited to 'sys-cluster/glusterfs/files/glusterfs-3.4.4-cluster-dht-Don-t-do-extra-unref-in-dht-migration-ch.patch')
-rw-r--r-- | sys-cluster/glusterfs/files/glusterfs-3.4.4-cluster-dht-Don-t-do-extra-unref-in-dht-migration-ch.patch | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/sys-cluster/glusterfs/files/glusterfs-3.4.4-cluster-dht-Don-t-do-extra-unref-in-dht-migration-ch.patch b/sys-cluster/glusterfs/files/glusterfs-3.4.4-cluster-dht-Don-t-do-extra-unref-in-dht-migration-ch.patch new file mode 100644 index 000000000000..c26085a9dfe7 --- /dev/null +++ b/sys-cluster/glusterfs/files/glusterfs-3.4.4-cluster-dht-Don-t-do-extra-unref-in-dht-migration-ch.patch @@ -0,0 +1,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 + |