diff options
author | Ravishankar N <ravishankar@redhat.com> | 2016-07-12 10:07:48 +0530 |
---|---|---|
committer | Jeff Darcy <jdarcy@redhat.com> | 2016-07-26 10:06:52 -0700 |
commit | d1e2054974c5933771fe0e5626e2cd04bccc757a (patch) | |
tree | a5dcd609b8d7db6556fd0af63b765f9a517f5916 /xlators/cluster/afr/src/afr-self-heal-data.c | |
parent | a56635c0c44af63672b0a6fadc1a02f98eb6b251 (diff) |
afr: some coverity fixes
Thanks to Krutika for a cleaner way to track inode refs in
afr_set_split_brain_choice().
Change-Id: I2d968d05b815ad764b7e3f8aa9ad95a792b3c1df
BUG: 1355604
Signed-off-by: Ravishankar N <ravishankar@redhat.com>
Reviewed-on: http://review.gluster.org/14895
Reviewed-by: Pranith Kumar Karampuri <pkarampu@redhat.com>
Tested-by: Pranith Kumar Karampuri <pkarampu@redhat.com>
Smoke: Gluster Build System <jenkins@build.gluster.org>
NetBSD-regression: NetBSD Build System <jenkins@build.gluster.org>
CentOS-regression: Gluster Build System <jenkins@build.gluster.org>
Diffstat (limited to 'xlators/cluster/afr/src/afr-self-heal-data.c')
-rw-r--r-- | xlators/cluster/afr/src/afr-self-heal-data.c | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/xlators/cluster/afr/src/afr-self-heal-data.c b/xlators/cluster/afr/src/afr-self-heal-data.c index 2a33e53764c..4becfb835e8 100644 --- a/xlators/cluster/afr/src/afr-self-heal-data.c +++ b/xlators/cluster/afr/src/afr-self-heal-data.c @@ -89,9 +89,15 @@ __afr_can_skip_data_block_heal (call_frame_t *frame, xlator_t *this, fd_t *fd, priv = this->private; local = frame->local; + xdata = dict_new(); - if (xdata) - i = dict_set_int32 (xdata, "check-zero-filled", 1); + if (!xdata) + goto out; + if (dict_set_int32 (xdata, "check-zero-filled", 1)) { + dict_unref (xdata); + goto out; + } + wind_subvols = alloca0 (priv->child_count); for (i = 0; i < priv->child_count; i++) { if (i == source || healed_sinks[i]) @@ -130,7 +136,7 @@ __afr_can_skip_data_block_heal (call_frame_t *frame, xlator_t *this, fd_t *fd, else return _gf_true; } - +out: return _gf_false; } |