diff options
author | Anuradha <atalur@redhat.com> | 2014-12-30 18:54:33 +0530 |
---|---|---|
committer | Pranith Kumar Karampuri <pkarampu@redhat.com> | 2015-01-01 21:55:04 -0800 |
commit | a96375c180901756753246cb00b42f44fd8b4fd7 (patch) | |
tree | b83139fa8baa3015175d4b9b6b976290c63e3339 /xlators/cluster/afr | |
parent | c8263975862afa9e5afc603bf2d05ab93087bcc4 (diff) |
afr: Fixes to commit 85427a23c238499137cbfaafdb7b6ad27f67506a
* Fixed a dict leak
* Re-added 'return on failure' check
Change-Id: I07edd03e4608fd2b7c4a91019a0e43033e6e78b2
BUG: 1163804
Signed-off-by: Anuradha <atalur@redhat.com>
Reviewed-on: http://review.gluster.org/9368
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Pranith Kumar Karampuri <pkarampu@redhat.com>
Tested-by: Pranith Kumar Karampuri <pkarampu@redhat.com>
Diffstat (limited to 'xlators/cluster/afr')
-rw-r--r-- | xlators/cluster/afr/src/afr-self-heal-data.c | 3 | ||||
-rw-r--r-- | xlators/cluster/afr/src/afr-self-heal-entry.c | 3 | ||||
-rw-r--r-- | xlators/cluster/afr/src/afr-self-heal-metadata.c | 5 |
3 files changed, 10 insertions, 1 deletions
diff --git a/xlators/cluster/afr/src/afr-self-heal-data.c b/xlators/cluster/afr/src/afr-self-heal-data.c index 0a43d128634..a434b9e6ba1 100644 --- a/xlators/cluster/afr/src/afr-self-heal-data.c +++ b/xlators/cluster/afr/src/afr-self-heal-data.c @@ -586,6 +586,9 @@ __afr_selfheal_data_prepare (call_frame_t *frame, xlator_t *this, ret = afr_selfheal_unlocked_discover (frame, inode, inode->gfid, replies); + if (ret) + return ret; + witness = alloca0(priv->child_count * sizeof (*witness)); ret = afr_selfheal_find_direction (frame, this, replies, AFR_DATA_TRANSACTION, diff --git a/xlators/cluster/afr/src/afr-self-heal-entry.c b/xlators/cluster/afr/src/afr-self-heal-entry.c index 34784fff0e6..6af9488f9a4 100644 --- a/xlators/cluster/afr/src/afr-self-heal-entry.c +++ b/xlators/cluster/afr/src/afr-self-heal-entry.c @@ -382,6 +382,9 @@ __afr_selfheal_entry_prepare (call_frame_t *frame, xlator_t *this, ret = afr_selfheal_unlocked_discover (frame, inode, inode->gfid, replies); + if (ret) + return ret; + witness = alloca0 (sizeof (*witness) * priv->child_count); ret = afr_selfheal_find_direction (frame, this, replies, AFR_ENTRY_TRANSACTION, diff --git a/xlators/cluster/afr/src/afr-self-heal-metadata.c b/xlators/cluster/afr/src/afr-self-heal-metadata.c index c09f19ac5fd..7c0d5cb08c6 100644 --- a/xlators/cluster/afr/src/afr-self-heal-metadata.c +++ b/xlators/cluster/afr/src/afr-self-heal-metadata.c @@ -311,8 +311,11 @@ __afr_selfheal_metadata_prepare (call_frame_t *frame, xlator_t *this, inode_t *i ret = afr_selfheal_unlocked_discover (frame, inode, inode->gfid, replies); + if (ret) + return ret; + witness = alloca0 (sizeof (*witness) * priv->child_count); - ret = afr_selfheal_find_direction (frame, this, replies, + ret = afr_selfheal_find_direction (frame, this, replies, AFR_METADATA_TRANSACTION, locked_on, sources, sinks, witness); if (ret) |