On 2022/12/27 09:35, Mikhail Gavrilov wrote: > On Tue, Dec 27, 2022 at 5:18 AM Qu Wenruo wrote: >> >> My bad, missing a ")" in the WARN_ON() line. >> >> Fixed with v3 patch. >> > > New kernel logs are ready. > The result doesn't make sense... A lot of read_block_for_search() and btrfs_read_node_slot() are triggering the warning. But inside both functions, we have just set the numbers before the call: In read_block_for_search() we got: check.has_first_key = true; check.level = parent_level - 1; check.transid = gen; check.owner_root = root->root_key.objectid; Thus at least check.has_first_key is always true, and the WARN_ON() should never get triggered. The same applies to btrfs_read_node_slot(). It looks like something involved in memory barrier. Anyway, the latest debug patch has extra mb to be sure. And despite the possible fix, could you provide extra info of your build? Include: - Hardware (mostly CPU and RAM spec) - Toolchain used to compile the kernel (include compiler and its version) - Kernel config Thanks, Qu