diff options
Diffstat (limited to 'xlators')
-rw-r--r-- | xlators/cluster/afr/src/afr-common.c | 4 | ||||
-rw-r--r-- | xlators/cluster/afr/src/afr-self-heal-common.c | 8 | ||||
-rw-r--r-- | xlators/features/changelog/src/changelog-helpers.h | 13 |
3 files changed, 14 insertions, 11 deletions
diff --git a/xlators/cluster/afr/src/afr-common.c b/xlators/cluster/afr/src/afr-common.c index e4fbe794f08..04191649b4c 100644 --- a/xlators/cluster/afr/src/afr-common.c +++ b/xlators/cluster/afr/src/afr-common.c @@ -514,7 +514,7 @@ afr_inode_refresh_done (call_frame_t *frame, xlator_t *this) if (ret && afr_selfheal_enabled (this)) { heal = copy_frame (frame); if (heal) - heal->root->pid = -1; + heal->root->pid = GF_CLIENT_PID_AFR_SELF_HEALD; ret = synctask_new (this->ctx->env, afr_refresh_selfheal_wrap, afr_refresh_selfheal_done, heal, frame); if (ret) @@ -1494,7 +1494,7 @@ afr_lookup_entry_heal (call_frame_t *frame, xlator_t *this) if (need_heal) { heal = copy_frame (frame); if (heal) - heal->root->pid = -1; + heal->root->pid = GF_CLIENT_PID_AFR_SELF_HEALD; ret = synctask_new (this->ctx->env, afr_lookup_selfheal_wrap, afr_refresh_selfheal_done, heal, frame); if (ret) diff --git a/xlators/cluster/afr/src/afr-self-heal-common.c b/xlators/cluster/afr/src/afr-self-heal-common.c index 56691e27752..1d0831f0752 100644 --- a/xlators/cluster/afr/src/afr-self-heal-common.c +++ b/xlators/cluster/afr/src/afr-self-heal-common.c @@ -947,10 +947,10 @@ afr_inode_find (xlator_t *this, uuid_t gfid) call_frame_t * afr_frame_create (xlator_t *this) { - call_frame_t *frame = NULL; - afr_local_t *local = NULL; - int op_errno = 0; - pid_t pid = -1; + call_frame_t *frame = NULL; + afr_local_t *local = NULL; + int op_errno = 0; + pid_t pid = GF_CLIENT_PID_AFR_SELF_HEALD; frame = create_frame (this, this->ctx->pool); if (!frame) diff --git a/xlators/features/changelog/src/changelog-helpers.h b/xlators/features/changelog/src/changelog-helpers.h index 95f369bf936..87888fb8c4f 100644 --- a/xlators/features/changelog/src/changelog-helpers.h +++ b/xlators/features/changelog/src/changelog-helpers.h @@ -521,11 +521,14 @@ int __chlog_barrier_enable (xlator_t *this, changelog_priv_t *priv); goto label; \ } while (0) -/* ignore internal fops */ -#define CHANGELOG_IF_INTERNAL_FOP_THEN_GOTO(frame, dict, label) do { \ - if ((frame->root->pid > 0) && \ - dict && dict_get (dict, GLUSTERFS_INTERNAL_FOP_KEY)) \ - goto label; \ +/** + * ignore internal fops for all clients except AFR self-heal daemon + */ +#define CHANGELOG_IF_INTERNAL_FOP_THEN_GOTO(frame, dict, label) do { \ + if ((frame->root->pid != GF_CLIENT_PID_AFR_SELF_HEALD) \ + && dict \ + && dict_get (dict, GLUSTERFS_INTERNAL_FOP_KEY)) \ + goto label; \ } while (0) #define CHANGELOG_COND_GOTO(priv, cond, label) do { \ |