summaryrefslogtreecommitdiffstats
path: root/xlators/cluster/afr/src/afr-common.c
diff options
context:
space:
mode:
Diffstat (limited to 'xlators/cluster/afr/src/afr-common.c')
-rw-r--r--xlators/cluster/afr/src/afr-common.c14
1 files changed, 7 insertions, 7 deletions
diff --git a/xlators/cluster/afr/src/afr-common.c b/xlators/cluster/afr/src/afr-common.c
index 73f1d728809..a0ff6acd9dd 100644
--- a/xlators/cluster/afr/src/afr-common.c
+++ b/xlators/cluster/afr/src/afr-common.c
@@ -5814,7 +5814,7 @@ out:
int
afr_selfheal_locked_metadata_inspect(call_frame_t *frame, xlator_t *this,
inode_t *inode, gf_boolean_t *msh,
- gf_boolean_t *pending)
+ unsigned char *pending)
{
int ret = -1;
unsigned char *locked_on = NULL;
@@ -5859,7 +5859,7 @@ out:
int
afr_selfheal_locked_data_inspect(call_frame_t *frame, xlator_t *this, fd_t *fd,
- gf_boolean_t *dsh, gf_boolean_t *pflag)
+ gf_boolean_t *dsh, unsigned char *pflag)
{
int ret = -1;
unsigned char *data_lock = NULL;
@@ -5903,7 +5903,7 @@ out:
int
afr_selfheal_locked_entry_inspect(call_frame_t *frame, xlator_t *this,
inode_t *inode, gf_boolean_t *esh,
- gf_boolean_t *pflag)
+ unsigned char *pflag)
{
int ret = -1;
int source = -1;
@@ -5952,7 +5952,7 @@ afr_selfheal_locked_entry_inspect(call_frame_t *frame, xlator_t *this,
ret = __afr_selfheal_entry_prepare(frame, this, inode, data_lock,
sources, sinks, healed_sinks,
locked_replies, &source, pflag);
- if ((ret == 0) && source < 0)
+ if ((ret == 0) && (*pflag & PFLAG_SBRAIN))
ret = -EIO;
*esh = afr_decide_heal_info(priv, sources, ret);
}
@@ -5974,7 +5974,7 @@ afr_selfheal_locked_inspect(call_frame_t *frame, xlator_t *this, uuid_t gfid,
inode_t **inode, gf_boolean_t *entry_selfheal,
gf_boolean_t *data_selfheal,
gf_boolean_t *metadata_selfheal,
- gf_boolean_t *pending)
+ unsigned char *pending)
{
int ret = -1;
@@ -6059,7 +6059,7 @@ afr_get_heal_info(call_frame_t *frame, xlator_t *this, loc_t *loc)
gf_boolean_t data_selfheal = _gf_false;
gf_boolean_t metadata_selfheal = _gf_false;
gf_boolean_t entry_selfheal = _gf_false;
- gf_boolean_t pending = _gf_false;
+ unsigned char pending = 0;
dict_t *dict = NULL;
int ret = -1;
int op_errno = 0;
@@ -6077,7 +6077,7 @@ afr_get_heal_info(call_frame_t *frame, xlator_t *this, loc_t *loc)
goto out;
}
- if (pending) {
+ if (pending & PFLAG_PENDING) {
gf_asprintf(&substr, "-pending");
if (!substr)
goto out;