diff options
author | Qu Wenruo <wqu@suse.com> | 2018-04-23 17:32:04 +0800 |
---|---|---|
committer | David Sterba <dsterba@suse.com> | 2018-04-26 13:21:04 +0200 |
commit | 17515f1b764df36271f3166c714f5a78301fbaa7 (patch) | |
tree | b03966bbc605fe3fb520fb71278086b22d9dd11e /fs/btrfs/extent-tree.c | |
parent | c0872323746e11fc79344e3738b283a8cda86654 (diff) |
btrfs: Fix wrong first_key parameter in replace_path
Commit 581c1760415c ("btrfs: Validate child tree block's level and first
key") introduced new @first_key parameter for read_tree_block(), however
caller in replace_path() is parasing wrong key to read_tree_block().
It should use parameter @first_key other than @key.
Normally it won't expose problem as @key is normally initialzied to the
same value of @first_key we expect.
However in relocation recovery case, @key can be set to (0, 0, 0), and
since no valid key in relocation tree can be (0, 0, 0), it will cause
read_tree_block() to return -EUCLEAN and interrupt relocation recovery.
Fix it by setting @first_key correctly.
Fixes: 581c1760415c ("btrfs: Validate child tree block's level and first key")
Signed-off-by: Qu Wenruo <wqu@suse.com>
Signed-off-by: David Sterba <dsterba@suse.com>
Diffstat (limited to 'fs/btrfs/extent-tree.c')
0 files changed, 0 insertions, 0 deletions