From 8a24b1487d440c23b00b56aba5b9bfb77af6ef03 Mon Sep 17 00:00:00 2001 From: Venky Shankar Date: Fri, 18 Jul 2014 15:36:42 +0530 Subject: features/changelog: Capture "correct" internal FOPs This patch fixes changelog capturing internal FOPs in a cascaded setup, where the intermediate master would record internal FOPs (generated by DHT on link()/rename()). This is due to I/O happening on the intermediate slave on geo-replication's auxillary mount with client-pid -1. Currently, the internal FOP capturing logic depends on client pid being non-negative and the presence of a special key in dictionary. Due to this, internal FOPs on an inter-mediate master would be recorded in the changelog. Checking client-pid being non-negative was introduced to capture AFR self-heal traffic in changelog, thereby breaking cascading setups. By coincidence, AFR self-heal daemon uses -1 as frame->root->pid thereby making is hard to differentiate b/w geo-rep's auxillary mount and self-heal daemon. Change-Id: Ib7bd71e80dd1856770391edb621ba9819cab7056 BUG: 1122037 Original-Author: Venky Shankar Signed-off-by: Kotresh H R Reviewed-on: http://review.gluster.org/8347 Reviewed-by: Venky Shankar Tested-by: Gluster Build System Reviewed-by: Vijay Bellur --- libglusterfs/src/common-utils.h | 1 + 1 file changed, 1 insertion(+) (limited to 'libglusterfs/src/common-utils.h') diff --git a/libglusterfs/src/common-utils.h b/libglusterfs/src/common-utils.h index 1ddb46c6758..98f30fc47b0 100644 --- a/libglusterfs/src/common-utils.h +++ b/libglusterfs/src/common-utils.h @@ -114,6 +114,7 @@ enum _gf_client_pid GF_CLIENT_PID_DEFRAG = -3, GF_CLIENT_PID_NO_ROOT_SQUASH = -4, GF_CLIENT_PID_QUOTA_MOUNT = -5, + GF_CLIENT_PID_AFR_SELF_HEALD = -6, }; typedef enum _gf_boolean gf_boolean_t; -- cgit