diff options
author | Qu Wenruo <quwenruo@cn.fujitsu.com> | 2015-01-28 10:12:55 +0800 |
---|---|---|
committer | David Sterba <dsterba@suse.cz> | 2015-02-02 19:21:24 +0100 |
commit | ccdd0a067f36b689a0928074d53e5020f3ff5f5d (patch) | |
tree | f06f2dcf7788ab6a3b1e698c1c1b13e15d0b75b3 /btrfs-image.c | |
parent | 3e7524911214c4399f25ed2dabc0ad2956f7e90e (diff) |
btrfs-progs: read_tree_block() and read_node_slot() cleanup.
Allow read_tree_block() and read_node_slot() to return error pointer.
This should help caller to get more specified error number.
For existing callers, change (!eb) judgmentt to
(!extent_buffer_uptodate(eb)) to keep the compatibility, and for caller
missing the check, use PTR_ERR(eb) if possible.
Signed-off-by: Qu Wenruo <quwenruo@cn.fujitsu.com>
Signed-off-by: David Sterba <dsterba@suse.cz>
Diffstat (limited to 'btrfs-image.c')
-rw-r--r-- | btrfs-image.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/btrfs-image.c b/btrfs-image.c index 73dbfcdc..f6347f36 100644 --- a/btrfs-image.c +++ b/btrfs-image.c @@ -907,7 +907,7 @@ static int flush_pending(struct metadump_struct *md, int done) while (!md->data && size > 0) { u64 this_read = min(blocksize, size); eb = read_tree_block(md->root, start, this_read, 0); - if (!eb) { + if (!extent_buffer_uptodate(eb)) { free(async->buffer); free(async); fprintf(stderr, @@ -1036,7 +1036,7 @@ static int copy_tree_blocks(struct btrfs_root *root, struct extent_buffer *eb, ri = btrfs_item_ptr(eb, i, struct btrfs_root_item); bytenr = btrfs_disk_root_bytenr(eb, ri); tmp = read_tree_block(root, bytenr, root->leafsize, 0); - if (!tmp) { + if (!extent_buffer_uptodate(tmp)) { fprintf(stderr, "Error reading log root block\n"); return -EIO; @@ -1048,7 +1048,7 @@ static int copy_tree_blocks(struct btrfs_root *root, struct extent_buffer *eb, } else { bytenr = btrfs_node_blockptr(eb, i); tmp = read_tree_block(root, bytenr, root->leafsize, 0); - if (!tmp) { + if (!extent_buffer_uptodate(tmp)) { fprintf(stderr, "Error reading log block\n"); return -EIO; } |