hc
2024-05-10 9999e48639b3cecb08ffb37358bcba3b48161b29
kernel/fs/btrfs/extent-tree.c
....@@ -857,6 +857,11 @@
857857 err = -ENOENT;
858858 goto out;
859859 } else if (WARN_ON(ret)) {
860
+ btrfs_print_leaf(path->nodes[0]);
861
+ btrfs_err(fs_info,
862
+"extent item not found for insert, bytenr %llu num_bytes %llu parent %llu root_objectid %llu owner %llu offset %llu",
863
+ bytenr, num_bytes, parent, root_objectid, owner,
864
+ offset);
860865 err = -EIO;
861866 goto out;
862867 }
....@@ -1684,6 +1689,11 @@
16841689 BUG();
16851690 if (ret && insert_reserved)
16861691 btrfs_pin_extent(trans, node->bytenr, node->num_bytes, 1);
1692
+ if (ret < 0)
1693
+ btrfs_err(trans->fs_info,
1694
+"failed to run delayed ref for logical %llu num_bytes %llu type %u action %u ref_mod %d: %d",
1695
+ node->bytenr, node->num_bytes, node->type,
1696
+ node->action, node->ref_mod, ret);
16871697 return ret;
16881698 }
16891699
....@@ -1935,8 +1945,6 @@
19351945 if (ret) {
19361946 unselect_delayed_ref_head(delayed_refs, locked_ref);
19371947 btrfs_put_delayed_ref(ref);
1938
- btrfs_debug(fs_info, "run_one_delayed_ref returned %d",
1939
- ret);
19401948 return ret;
19411949 }
19421950
....@@ -4135,8 +4143,11 @@
41354143 ret = 0;
41364144 }
41374145
4138
- if (unlikely(block_group->cached == BTRFS_CACHE_ERROR))
4146
+ if (unlikely(block_group->cached == BTRFS_CACHE_ERROR)) {
4147
+ if (!cache_block_group_error)
4148
+ cache_block_group_error = -EIO;
41394149 goto loop;
4150
+ }
41404151
41414152 bg_ret = NULL;
41424153 ret = do_allocation(block_group, &ffe_ctl, &bg_ret);