summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorshishir gowda <shishirng@gluster.com>2012-04-13 15:22:57 +0530
committerVijay Bellur <vijay@gluster.com>2012-04-16 11:21:50 -0700
commit42c06ba048d0bcb7093063bf99dfa3e520a038a5 (patch)
tree1292a8246b590520807533140e65157f3cc81144
parentc75a5d348f0d30b61bdc45e9e54d623957a6050f (diff)
glusterd/rebalance: Start process with xlator option client-pid -3
This would prevent updation of xtime by the marker. Signed-off-by: shishir gowda <shishirng@gluster.com> Change-Id: I11e287511026326271c2926e55993e48b32018f6 BUG: 812287 Reviewed-on: http://review.gluster.com/3144 Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Mohammed Junaid <junaid@redhat.com> Reviewed-by: Csaba Henk <csaba@redhat.com> Reviewed-by: Vijay Bellur <vijay@gluster.com>
-rw-r--r--libglusterfs/src/common-utils.h3
-rw-r--r--xlators/features/marker/src/marker.c3
-rw-r--r--xlators/mgmt/glusterd/src/glusterd-rebalance.c2
-rw-r--r--xlators/mount/fuse/src/fuse-helpers.c4
4 files changed, 10 insertions, 2 deletions
diff --git a/libglusterfs/src/common-utils.h b/libglusterfs/src/common-utils.h
index 9d98975e14f..86f1b051f33 100644
--- a/libglusterfs/src/common-utils.h
+++ b/libglusterfs/src/common-utils.h
@@ -104,7 +104,8 @@ enum _gf_client_pid
GF_CLIENT_PID_MAX = 0,
GF_CLIENT_PID_GSYNCD = -1,
GF_CLIENT_PID_HADOOP = -2,
- GF_CLIENT_PID_MIN = -3
+ GF_CLIENT_PID_DEFRAG = -3,
+ GF_CLIENT_PID_MIN = -4
};
typedef enum _gf_boolean gf_boolean_t;
diff --git a/xlators/features/marker/src/marker.c b/xlators/features/marker/src/marker.c
index 4f143f5efdb..567e9467c28 100644
--- a/xlators/features/marker/src/marker.c
+++ b/xlators/features/marker/src/marker.c
@@ -462,7 +462,8 @@ marker_xtime_update_marks (xlator_t *this, marker_local_t *local)
GF_VALIDATE_OR_GOTO ("marker", this, out);
GF_VALIDATE_OR_GOTO (this->name, local, out);
- if (local->pid == GF_CLIENT_PID_GSYNCD)
+ if ((local->pid == GF_CLIENT_PID_GSYNCD) ||
+ (local->pid == GF_CLIENT_PID_DEFRAG))
goto out;
marker_gettimeofday (local);
diff --git a/xlators/mgmt/glusterd/src/glusterd-rebalance.c b/xlators/mgmt/glusterd/src/glusterd-rebalance.c
index fddf6699f9e..9bee4ba205b 100644
--- a/xlators/mgmt/glusterd/src/glusterd-rebalance.c
+++ b/xlators/mgmt/glusterd/src/glusterd-rebalance.c
@@ -344,6 +344,8 @@ glusterd_handle_defrag_start (glusterd_volinfo_t *volinfo, char *op_errstr,
runner_argprintf (&runner, "%s",pidfile);
runner_add_arg (&runner, "-l");
runner_argprintf (&runner, logfile);
+ runner_add_arg (&runner, "--client-pid");
+ runner_argprintf (&runner, "%d", GF_CLIENT_PID_DEFRAG);
if (volinfo->memory_accounting)
runner_add_arg (&runner, "--mem-accounting");
diff --git a/xlators/mount/fuse/src/fuse-helpers.c b/xlators/mount/fuse/src/fuse-helpers.c
index 482785d79ee..8af19de9d43 100644
--- a/xlators/mount/fuse/src/fuse-helpers.c
+++ b/xlators/mount/fuse/src/fuse-helpers.c
@@ -504,6 +504,10 @@ fuse_flip_xattr_ns (fuse_private_t *priv, char *okey, char **nkey)
if (strcmp (okey, UNPRIV_XA_NS".glusterfs.pathinfo") == 0)
need_flip = _gf_true;
break;
+
+ /* This is never true for fuse mount, as defrag uses syncops */
+ case GF_CLIENT_PID_DEFRAG:
+ goto out;
}
if (need_flip) {