@@ -222,21 +222,17 @@ static struct extent_map *btree_get_extent(struct inode *inode,
free_extent_map(em);
em = lookup_extent_mapping(em_tree, start, len);
- if (em) {
- ret = 0;
- } else {
- em = lookup_extent_mapping(em_tree, failed_start,
- failed_len);
- ret = -EIO;
+ if (!em) {
+ lookup_extent_mapping(em_tree, failed_start,
+ failed_len);
+ em = ERR_PTR(-EIO);
}
} else if (ret) {
free_extent_map(em);
- em = NULL;
+ em = ERR_PTR(ret);
}
write_unlock(&em_tree->lock);
- if (ret)
- em = ERR_PTR(ret);
out:
return em;
}
This patch simplifies a little complex error processing in btree_get_extent(). Signed-off-by: Tsutomu Itoh <t-itoh@jp.fujitsu.com> --- fs/btrfs/disk-io.c | 14 +++++--------- 1 files changed, 5 insertions(+), 9 deletions(-)