diff options
author | Mitch Harder <mitch.harder@sabayonlinux.org> | 2014-02-07 12:53:50 -0600 |
---|---|---|
committer | Chris Mason <clm@fb.com> | 2014-03-21 06:23:13 -0700 |
commit | 5218123d8ffe51dffd6852d2c7858178f64483c2 (patch) | |
tree | 7b5b9ea42bbfcc2df363314783f021a28f4d563c /cmds-check.c | |
parent | 771040bb35e06383eab31d195607ddd8097f5e36 (diff) |
btrfs-progs: Preserve process_one_leaf return value.
The return value in process_one_leaf could be over-written while
looping over the items in the leaf.
This patch will preserve a non-zero return value to the calling
function if a non-zero return value is encountered in the loop.
The return value of one (1) is consistent with non-zero values
that could be returned while processing the leaf.
The only caller of this function (walk_down_tree) would ignore
the return value anyway. But this patch will correct the
behaviour in case future changes intend to utilize the return
value.
Signed-off-by: Mitch Harder <mitch.harder@sabayonlinux.org>
Signed-off-by: David Sterba <dsterba@suse.cz>
Signed-off-by: Chris Mason <clm@fb.com>
Diffstat (limited to 'cmds-check.c')
-rw-r--r-- | cmds-check.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/cmds-check.c b/cmds-check.c index 2911af08..eef7c6cc 100644 --- a/cmds-check.c +++ b/cmds-check.c @@ -1219,6 +1219,7 @@ static int process_one_leaf(struct btrfs_root *root, struct extent_buffer *eb, u32 nritems; int i; int ret = 0; + int error = 0; struct cache_tree *inode_cache; struct shared_node *active_node; @@ -1268,8 +1269,10 @@ static int process_one_leaf(struct btrfs_root *root, struct extent_buffer *eb, default: break; }; + if (ret != 0) + error = 1; } - return ret; + return error; } static void reada_walk_down(struct btrfs_root *root, |