Commit e7344086 authored by David Sterba's avatar David Sterba

Merge branch 'misc-4.7' into for-chris-4.7-20160525

parents c315ef8d f1fee653
...@@ -4389,8 +4389,12 @@ int extent_fiemap(struct inode *inode, struct fiemap_extent_info *fieinfo, ...@@ -4389,8 +4389,12 @@ int extent_fiemap(struct inode *inode, struct fiemap_extent_info *fieinfo,
if (ret < 0) { if (ret < 0) {
btrfs_free_path(path); btrfs_free_path(path);
return ret; return ret;
} else {
WARN_ON(!ret);
if (ret == 1)
ret = 0;
} }
WARN_ON(!ret);
path->slots[0]--; path->slots[0]--;
btrfs_item_key_to_cpu(path->nodes[0], &found_key, path->slots[0]); btrfs_item_key_to_cpu(path->nodes[0], &found_key, path->slots[0]);
found_type = found_key.type; found_type = found_key.type;
......
...@@ -2181,7 +2181,7 @@ static void scrub_missing_raid56_pages(struct scrub_block *sblock) ...@@ -2181,7 +2181,7 @@ static void scrub_missing_raid56_pages(struct scrub_block *sblock)
struct btrfs_fs_info *fs_info = sctx->dev_root->fs_info; struct btrfs_fs_info *fs_info = sctx->dev_root->fs_info;
u64 length = sblock->page_count * PAGE_SIZE; u64 length = sblock->page_count * PAGE_SIZE;
u64 logical = sblock->pagev[0]->logical; u64 logical = sblock->pagev[0]->logical;
struct btrfs_bio *bbio; struct btrfs_bio *bbio = NULL;
struct bio *bio; struct bio *bio;
struct btrfs_raid_bio *rbio; struct btrfs_raid_bio *rbio;
int ret; int ret;
...@@ -2982,6 +2982,7 @@ static noinline_for_stack int scrub_raid56_parity(struct scrub_ctx *sctx, ...@@ -2982,6 +2982,7 @@ static noinline_for_stack int scrub_raid56_parity(struct scrub_ctx *sctx,
extent_len); extent_len);
mapped_length = extent_len; mapped_length = extent_len;
bbio = NULL;
ret = btrfs_map_block(fs_info, READ, extent_logical, ret = btrfs_map_block(fs_info, READ, extent_logical,
&mapped_length, &bbio, 0); &mapped_length, &bbio, 0);
if (!ret) { if (!ret) {
......
...@@ -6630,13 +6630,13 @@ int btrfs_read_sys_array(struct btrfs_root *root) ...@@ -6630,13 +6630,13 @@ int btrfs_read_sys_array(struct btrfs_root *root)
sb_array_offset += len; sb_array_offset += len;
cur_offset += len; cur_offset += len;
} }
free_extent_buffer(sb); free_extent_buffer_stale(sb);
return ret; return ret;
out_short_read: out_short_read:
printk(KERN_ERR "BTRFS: sys_array too short to read %u bytes at offset %u\n", printk(KERN_ERR "BTRFS: sys_array too short to read %u bytes at offset %u\n",
len, cur_offset); len, cur_offset);
free_extent_buffer(sb); free_extent_buffer_stale(sb);
return -EIO; return -EIO;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment