diff options
Diffstat (limited to 'fs')
-rw-r--r-- | fs/btrfs/ctree.c | 2 | ||||
-rw-r--r-- | fs/btrfs/disk-io.c | 6 | ||||
-rw-r--r-- | fs/btrfs/disk-io.h | 3 |
3 files changed, 5 insertions, 6 deletions
diff --git a/fs/btrfs/ctree.c b/fs/btrfs/ctree.c index 3e26254fefe8..0998e7fba98b 100644 --- a/fs/btrfs/ctree.c +++ b/fs/btrfs/ctree.c @@ -2420,7 +2420,7 @@ read_block_for_search(struct btrfs_root *root, struct btrfs_path *p, * being cached, read from scrub, or have multiple * parents (shared tree blocks). */ - if (btrfs_verify_level_key(fs_info, tmp, + if (btrfs_verify_level_key(tmp, parent_level - 1, &first_key, gen)) { free_extent_buffer(tmp); return -EUCLEAN; diff --git a/fs/btrfs/disk-io.c b/fs/btrfs/disk-io.c index f7bfa73c2545..b4c070936289 100644 --- a/fs/btrfs/disk-io.c +++ b/fs/btrfs/disk-io.c @@ -394,10 +394,10 @@ static int btrfs_check_super_csum(struct btrfs_fs_info *fs_info, return ret; } -int btrfs_verify_level_key(struct btrfs_fs_info *fs_info, - struct extent_buffer *eb, int level, +int btrfs_verify_level_key(struct extent_buffer *eb, int level, struct btrfs_key *first_key, u64 parent_transid) { + struct btrfs_fs_info *fs_info = eb->fs_info; int found_level; struct btrfs_key found_key; int ret; @@ -471,7 +471,7 @@ static int btree_read_extent_buffer_pages(struct extent_buffer *eb, if (verify_parent_transid(io_tree, eb, parent_transid, 0)) ret = -EIO; - else if (btrfs_verify_level_key(fs_info, eb, level, + else if (btrfs_verify_level_key(eb, level, first_key, parent_transid)) ret = -EUCLEAN; else diff --git a/fs/btrfs/disk-io.h b/fs/btrfs/disk-io.h index 917634f2bae9..a32158f0c2fc 100644 --- a/fs/btrfs/disk-io.h +++ b/fs/btrfs/disk-io.h @@ -39,8 +39,7 @@ static inline u64 btrfs_sb_offset(int mirror) struct btrfs_device; struct btrfs_fs_devices; -int btrfs_verify_level_key(struct btrfs_fs_info *fs_info, - struct extent_buffer *eb, int level, +int btrfs_verify_level_key(struct extent_buffer *eb, int level, struct btrfs_key *first_key, u64 parent_transid); struct extent_buffer *read_tree_block(struct btrfs_fs_info *fs_info, u64 bytenr, u64 parent_transid, int level, |