btrfs-progs: read_tree_block() and read_node_slot() cleanup.
[platform/upstream/btrfs-progs.git] / btrfs-image.c
index 73dbfcd..f6347f3 100644 (file)
@@ -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;
                        }