Lines Matching full:slot

51  * Append generic "corrupt leaf/node root=%llu block=%llu slot=%d: " to @fmt.
56 static void generic_err(const struct extent_buffer *eb, int slot,
70 "corrupt %s: root=%llu block=%llu slot=%d, %pV",
72 btrfs_header_owner(eb), btrfs_header_bytenr(eb), slot, &vaf);
82 static void file_extent_err(const struct extent_buffer *eb, int slot,
90 btrfs_item_key_to_cpu(eb, &key, slot);
98 "corrupt %s: root=%llu block=%llu slot=%d ino=%llu file_offset=%llu, %pV",
100 btrfs_header_owner(eb), btrfs_header_bytenr(eb), slot,
109 #define CHECK_FE_ALIGNED(leaf, slot, fi, name, alignment) \
113 file_extent_err((leaf), (slot), \
143 static void dir_item_err(const struct extent_buffer *eb, int slot,
151 btrfs_item_key_to_cpu(eb, &key, slot);
159 "corrupt %s: root=%llu block=%llu slot=%d ino=%llu, %pV",
161 btrfs_header_owner(eb), btrfs_header_bytenr(eb), slot,
176 struct btrfs_key *key, int slot,
180 if (slot == 0)
201 dir_item_err(leaf, slot,
207 struct btrfs_key *key, int slot,
213 u32 item_size = btrfs_item_size(leaf, slot);
217 file_extent_err(leaf, slot,
229 if (unlikely(!check_prev_ino(leaf, key, slot, prev_key)))
232 fi = btrfs_item_ptr(leaf, slot, struct btrfs_file_extent_item);
239 file_extent_err(leaf, slot,
247 file_extent_err(leaf, slot,
260 file_extent_err(leaf, slot,
267 file_extent_err(leaf, slot,
275 file_extent_err(leaf, slot,
289 file_extent_err(leaf, slot,
300 file_extent_err(leaf, slot,
305 if (unlikely(CHECK_FE_ALIGNED(leaf, slot, fi, ram_bytes, sectorsize) ||
306 CHECK_FE_ALIGNED(leaf, slot, fi, disk_bytenr, sectorsize) ||
307 CHECK_FE_ALIGNED(leaf, slot, fi, disk_num_bytes, sectorsize) ||
308 CHECK_FE_ALIGNED(leaf, slot, fi, offset, sectorsize) ||
309 CHECK_FE_ALIGNED(leaf, slot, fi, num_bytes, sectorsize)))
315 file_extent_err(leaf, slot,
326 if (slot > 0 &&
332 prev_fi = btrfs_item_ptr(leaf, slot - 1,
336 file_extent_err(leaf, slot - 1,
355 file_extent_err(leaf, slot,
365 int slot, struct btrfs_key *prev_key)
372 generic_err(leaf, slot,
378 generic_err(leaf, slot,
383 if (unlikely(!IS_ALIGNED(btrfs_item_size(leaf, slot), csumsize))) {
384 generic_err(leaf, slot,
386 btrfs_item_size(leaf, slot), csumsize);
389 if (slot > 0 && prev_key->type == BTRFS_EXTENT_CSUM_KEY) {
393 prev_item_size = btrfs_item_size(leaf, slot - 1);
397 generic_err(leaf, slot - 1,
407 #define inode_item_err(eb, slot, fmt, ...) \
408 dir_item_err(eb, slot, fmt, __VA_ARGS__)
411 int slot)
416 btrfs_item_key_to_cpu(leaf, &item_key, slot);
432 generic_err(leaf, slot,
439 dir_item_err(leaf, slot,
450 inode_item_err(leaf, slot,
454 dir_item_err(leaf, slot,
463 int slot)
468 btrfs_item_key_to_cpu(leaf, &item_key, slot);
479 generic_err(leaf, slot,
488 generic_err(leaf, slot, "invalid root id 0");
490 dir_item_err(leaf, slot,
497 dir_item_err(leaf, slot,
514 generic_err(leaf, slot, "invalid root id 0 for reloc tree");
522 int slot)
526 u32 item_size = btrfs_item_size(leaf, slot);
529 if (unlikely(!check_prev_ino(leaf, key, slot, prev_key)))
532 di = btrfs_item_ptr(leaf, slot, struct btrfs_dir_item);
545 dir_item_err(leaf, slot,
554 ret = check_root_key(leaf, &location_key, slot);
559 ret = check_inode_key(leaf, &location_key, slot);
563 dir_item_err(leaf, slot,
574 dir_item_err(leaf, slot,
582 dir_item_err(leaf, slot,
589 dir_item_err(leaf, slot,
602 dir_item_err(leaf, slot,
608 dir_item_err(leaf, slot,
616 dir_item_err(leaf, slot,
626 dir_item_err(leaf, slot,
644 dir_item_err(leaf, slot,
658 static void block_group_err(const struct extent_buffer *eb, int slot,
666 btrfs_item_key_to_cpu(eb, &key, slot);
674 "corrupt %s: root=%llu block=%llu slot=%d bg_start=%llu bg_len=%llu, %pV",
676 btrfs_header_owner(eb), btrfs_header_bytenr(eb), slot,
682 struct btrfs_key *key, int slot)
686 u32 item_size = btrfs_item_size(leaf, slot);
696 block_group_err(leaf, slot,
702 block_group_err(leaf, slot,
708 read_extent_buffer(leaf, &bgi, btrfs_item_ptr_offset(leaf, slot),
720 block_group_err(leaf, slot,
727 block_group_err(leaf, slot,
735 block_group_err(leaf, slot,
743 block_group_err(leaf, slot,
756 block_group_err(leaf, slot,
778 int slot = -1;
782 * Get the slot number by iterating through all slots, this
788 slot = i;
803 "corrupt leaf: root=%llu block=%llu slot=%d chunk_start=%llu, %pV",
804 BTRFS_CHUNK_TREE_OBJECTID, leaf->start, slot,
994 struct btrfs_key *key, int slot)
999 if (unlikely(btrfs_item_size(leaf, slot) < sizeof(struct btrfs_chunk))) {
1002 btrfs_item_size(leaf, slot),
1014 btrfs_item_size(leaf, slot))) {
1017 btrfs_item_size(leaf, slot),
1028 static void dev_item_err(const struct extent_buffer *eb, int slot,
1035 btrfs_item_key_to_cpu(eb, &key, slot);
1043 "corrupt %s: root=%llu block=%llu slot=%d devid=%llu %pV",
1045 btrfs_header_owner(eb), btrfs_header_bytenr(eb), slot,
1051 struct btrfs_key *key, int slot)
1054 const u32 item_size = btrfs_item_size(leaf, slot);
1057 dev_item_err(leaf, slot,
1064 dev_item_err(leaf, slot, "invalid item size: has %u expect %zu",
1069 ditem = btrfs_item_ptr(leaf, slot, struct btrfs_dev_item);
1071 dev_item_err(leaf, slot,
1084 dev_item_err(leaf, slot,
1098 struct btrfs_key *key, int slot)
1104 const u32 item_size = btrfs_item_size(leaf, slot);
1110 ret = check_inode_key(leaf, key, slot);
1115 generic_err(leaf, slot, "invalid item size: has %u expect %zu",
1120 iitem = btrfs_item_ptr(leaf, slot, struct btrfs_inode_item);
1124 inode_item_err(leaf, slot,
1132 inode_item_err(leaf, slot,
1145 inode_item_err(leaf, slot,
1158 inode_item_err(leaf, slot,
1165 inode_item_err(leaf, slot,
1172 inode_item_err(leaf, slot,
1178 inode_item_err(leaf, slot,
1187 int slot)
1195 ret = check_root_key(leaf, key, slot);
1199 if (unlikely(btrfs_item_size(leaf, slot) != sizeof(ri) &&
1200 btrfs_item_size(leaf, slot) !=
1202 generic_err(leaf, slot,
1204 btrfs_item_size(leaf, slot), sizeof(ri),
1214 read_extent_buffer(leaf, &ri, btrfs_item_ptr_offset(leaf, slot),
1215 btrfs_item_size(leaf, slot));
1220 generic_err(leaf, slot,
1228 generic_err(leaf, slot,
1236 generic_err(leaf, slot,
1245 generic_err(leaf, slot,
1251 generic_err(leaf, slot,
1257 generic_err(leaf, slot,
1265 generic_err(leaf, slot,
1275 static void extent_err(const struct extent_buffer *eb, int slot,
1284 btrfs_item_key_to_cpu(eb, &key, slot);
1299 "corrupt %s: block=%llu slot=%d extent bytenr=%llu len=%llu %pV",
1301 eb->start, slot, bytenr, len, &vaf);
1319 struct btrfs_key *key, int slot,
1327 const u32 item_size = btrfs_item_size(leaf, slot);
1337 generic_err(leaf, slot,
1343 generic_err(leaf, slot,
1352 extent_err(leaf, slot,
1390 extent_err(leaf, slot,
1396 end = item_size + btrfs_item_ptr_offset(leaf, slot);
1399 ei = btrfs_item_ptr(leaf, slot, struct btrfs_extent_item);
1405 extent_err(leaf, slot,
1413 extent_err(leaf, slot,
1423 extent_err(leaf, slot,
1430 extent_err(leaf, slot,
1436 extent_err(leaf, slot,
1442 extent_err(leaf, slot,
1455 extent_err(leaf, slot,
1477 extent_err(leaf, slot,
1487 extent_err(leaf, slot,
1502 extent_err(leaf, slot,
1523 extent_err(leaf, slot,
1530 extent_err(leaf, slot,
1537 extent_err(leaf, slot,
1543 extent_err(leaf, slot,
1554 extent_err(leaf, slot,
1560 extent_err(leaf, slot,
1570 extent_err(leaf, slot, "unknown inline ref type: %u",
1575 extent_err(leaf, slot,
1584 extent_err(leaf, slot,
1596 extent_err(leaf, slot,
1603 extent_err(leaf, slot,
1619 extent_err(leaf, slot,
1632 struct btrfs_key *key, int slot)
1639 sref = btrfs_item_ptr(leaf, slot, struct btrfs_shared_data_ref);
1641 extent_err(leaf, slot,
1649 if (unlikely(btrfs_item_size(leaf, slot) != expect_item_size)) {
1650 generic_err(leaf, slot,
1652 btrfs_item_size(leaf, slot),
1657 generic_err(leaf, slot,
1664 extent_err(leaf, slot,
1673 struct btrfs_key *key, int slot)
1676 unsigned long ptr = btrfs_item_ptr_offset(leaf, slot);
1677 const unsigned long end = ptr + btrfs_item_size(leaf, slot);
1679 if (unlikely(btrfs_item_size(leaf, slot) % sizeof(*dref) != 0)) {
1680 generic_err(leaf, slot,
1682 btrfs_item_size(leaf, slot),
1687 generic_err(leaf, slot,
1706 extent_err(leaf, slot,
1713 extent_err(leaf, slot,
1719 extent_err(leaf, slot,
1725 extent_err(leaf, slot,
1733 #define inode_ref_err(eb, slot, fmt, args...) \
1734 inode_item_err(eb, slot, fmt, ##args)
1737 int slot)
1743 if (unlikely(!check_prev_ino(leaf, key, slot, prev_key)))
1746 if (unlikely(btrfs_item_size(leaf, slot) <= sizeof(*iref))) {
1747 inode_ref_err(leaf, slot,
1749 btrfs_item_size(leaf, slot),
1754 ptr = btrfs_item_ptr_offset(leaf, slot);
1755 end = ptr + btrfs_item_size(leaf, slot);
1760 inode_ref_err(leaf, slot,
1769 inode_ref_err(leaf, slot,
1786 const struct btrfs_key *key, int slot)
1789 generic_err(leaf, slot,
1796 generic_err(leaf, slot,
1806 int slot,
1812 de = btrfs_item_ptr(leaf, slot, struct btrfs_dev_extent);
1816 generic_err(leaf, slot,
1824 generic_err(leaf, slot,
1832 generic_err(leaf, slot,
1839 generic_err(leaf, slot,
1847 generic_err(leaf, slot,
1853 if (slot && prev_key->objectid == key->objectid &&
1858 prev_de = btrfs_item_ptr(leaf, slot - 1, struct btrfs_dev_extent);
1861 generic_err(leaf, slot,
1875 int slot,
1883 ret = check_extent_data_item(leaf, key, slot, prev_key);
1886 ret = check_csum_item(leaf, key, slot, prev_key);
1891 ret = check_dir_item(leaf, key, prev_key, slot);
1894 ret = check_inode_ref(leaf, key, prev_key, slot);
1897 ret = check_block_group_item(leaf, key, slot);
1900 chunk = btrfs_item_ptr(leaf, slot, struct btrfs_chunk);
1901 ret = check_leaf_chunk_item(leaf, chunk, key, slot);
1904 ret = check_dev_item(leaf, key, slot);
1907 ret = check_dev_extent_item(leaf, key, slot, prev_key);
1910 ret = check_inode_item(leaf, key, slot);
1913 ret = check_root_item(leaf, key, slot);
1917 ret = check_extent_item(leaf, key, slot, prev_key);
1922 ret = check_simple_keyed_refs(leaf, key, slot);
1925 ret = check_extent_data_ref(leaf, key, slot);
1928 ret = check_raid_stripe_extent(leaf, key, slot);
1944 int slot;
2016 for (slot = 0; slot < nritems; slot++) {
2021 btrfs_item_key_to_cpu(leaf, &key, slot);
2025 generic_err(leaf, slot,
2033 item_data_end = (u64)btrfs_item_offset(leaf, slot) +
2034 btrfs_item_size(leaf, slot);
2040 if (slot == 0)
2044 slot - 1);
2046 generic_err(leaf, slot,
2058 generic_err(leaf, slot,
2059 "slot end outside of leaf, have %llu expect range [0, %u]",
2065 if (unlikely(btrfs_item_ptr_offset(leaf, slot) <
2066 btrfs_item_nr_offset(leaf, slot) + sizeof(struct btrfs_item))) {
2067 generic_err(leaf, slot,
2068 "slot overlaps with its data, item end %lu data start %lu",
2069 btrfs_item_nr_offset(leaf, slot) +
2071 btrfs_item_ptr_offset(leaf, slot));
2076 ret = check_leaf_item(leaf, &key, slot, &prev_key);
2104 int slot;
2128 for (slot = 0; slot < nr - 1; slot++) {
2129 bytenr = btrfs_node_blockptr(node, slot);
2130 btrfs_node_key_to_cpu(node, &key, slot);
2131 btrfs_node_key_to_cpu(node, &next_key, slot + 1);
2134 generic_err(node, slot,
2139 generic_err(node, slot,
2146 generic_err(node, slot,