diff options
author | David Sterba <dsterba@suse.com> | 2016-09-08 11:18:24 +0200 |
---|---|---|
committer | David Sterba <dsterba@suse.com> | 2016-10-03 11:33:15 +0200 |
commit | 257f6979623559319fbd29c63a6e639f92eb1d6f (patch) | |
tree | d312ba090c1e5137132dbedee8598dcb71792b13 | |
parent | 1ed3426d3f74bbbfaab2b77991596644e2e6321d (diff) |
btrfs-progs: check: handle errors returned by add_extent_rec_nolookup
Signed-off-by: David Sterba <dsterba@suse.com>
-rw-r--r-- | cmds-check.c | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/cmds-check.c b/cmds-check.c index e7864919..611f8016 100644 --- a/cmds-check.c +++ b/cmds-check.c @@ -4766,6 +4766,7 @@ static int add_tree_backref(struct cache_tree *extent_cache, u64 bytenr, struct extent_record *rec; struct tree_backref *back; struct cache_extent *cache; + int ret; cache = lookup_cache_extent(extent_cache, bytenr, 1); if (!cache) { @@ -4776,7 +4777,9 @@ static int add_tree_backref(struct cache_tree *extent_cache, u64 bytenr, tmpl.nr = 1; tmpl.metadata = 1; - add_extent_rec_nolookup(extent_cache, &tmpl); + ret = add_extent_rec_nolookup(extent_cache, &tmpl); + if (ret) + return ret; /* really a bug in cache_extent implement now */ cache = lookup_cache_extent(extent_cache, bytenr, 1); @@ -4830,6 +4833,7 @@ static int add_data_backref(struct cache_tree *extent_cache, u64 bytenr, struct extent_record *rec; struct data_backref *back; struct cache_extent *cache; + int ret; cache = lookup_cache_extent(extent_cache, bytenr, 1); if (!cache) { @@ -4840,7 +4844,9 @@ static int add_data_backref(struct cache_tree *extent_cache, u64 bytenr, tmpl.nr = 1; tmpl.max_size = max_size; - add_extent_rec_nolookup(extent_cache, &tmpl); + ret = add_extent_rec_nolookup(extent_cache, &tmpl); + if (ret) + return ret; cache = lookup_cache_extent(extent_cache, bytenr, 1); if (!cache) |