btrfs: tree-checker: Check level for leaves and nodes
authorQu Wenruo <wqu@suse.com>
Thu, 27 Sep 2018 23:59:34 +0000 (07:59 +0800)
committerDavid Sterba <dsterba@suse.com>
Mon, 15 Oct 2018 15:23:37 +0000 (17:23 +0200)
commitf556faa46eb4e96d0d0772e74ecf66781e132f72
tree2022f3fe4cc8829472e8f0aef8d5ad362f657c59
parent3d0174f78e72301324a5b0ba7d67676474e36fff
btrfs: tree-checker: Check level for leaves and nodes

Although we have tree level check at tree read runtime, it's completely
based on its parent level.
We still need to do accurate level check to avoid invalid tree blocks
sneak into kernel space.

The check itself is simple, for leaf its level should always be 0.
For nodes its level should be in range [1, BTRFS_MAX_LEVEL - 1].

Signed-off-by: Qu Wenruo <wqu@suse.com>
Reviewed-by: Su Yue <suy.fnst@cn.fujitsu.com>
Reviewed-by: David Sterba <dsterba@suse.com>
Signed-off-by: David Sterba <dsterba@suse.com>
fs/btrfs/tree-checker.c