Re: [PATCH v2] btrfs: reject empty non-root tree blocks at read time

Qu Wenruo
2026-04-09T09:10:08Z

在 2026/4/9 17:41, ZhengYuan Huang 写道:
>
> [CAUSE]
> The old btrfs_verify_level_key() path rejected tree blocks with
> nritems == 0 whenever the parent check provided a first key.
> Commit 947a629988f1 ("btrfs: move tree block parentness check into
> validate_extent_buffer()") moved the parentness checks into the read-time
> validation path, but it dropped that guard. This lets an empty non-root
> tree block pass read-time validation even though slot 0 must exist if the
> parent provides a first key.

Wait for a second, there is still the nritems == 0 check inside
btrfs_verify_level_key().

It looks like there is a missing link.

Is the btrfs_buffer_uptodate() call inside read_block_for_search() not
passing the correct check structure?

Thanks,
Qu