Lines Matching defs: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,
347 int slot, struct btrfs_key *prev_key)
354 generic_err(leaf, slot,
360 generic_err(leaf, slot,
365 if (unlikely(!IS_ALIGNED(btrfs_item_size(leaf, slot), csumsize))) {
366 generic_err(leaf, slot,
368 btrfs_item_size(leaf, slot), csumsize);
371 if (slot > 0 && prev_key->type == BTRFS_EXTENT_CSUM_KEY) {
375 prev_item_size = btrfs_item_size(leaf, slot - 1);
379 generic_err(leaf, slot - 1,
389 #define inode_item_err(eb, slot, fmt, ...) \
390 dir_item_err(eb, slot, fmt, __VA_ARGS__)
393 int slot)
398 btrfs_item_key_to_cpu(leaf, &item_key, slot);
414 generic_err(leaf, slot,
421 dir_item_err(leaf, slot,
432 inode_item_err(leaf, slot,
436 dir_item_err(leaf, slot,
445 int slot)
450 btrfs_item_key_to_cpu(leaf, &item_key, slot);
461 generic_err(leaf, slot,
470 generic_err(leaf, slot, "invalid root id 0");
472 dir_item_err(leaf, slot,
479 dir_item_err(leaf, slot,
496 generic_err(leaf, slot, "invalid root id 0 for reloc tree");
504 int slot)
508 u32 item_size = btrfs_item_size(leaf, slot);
511 if (unlikely(!check_prev_ino(leaf, key, slot, prev_key)))
514 di = btrfs_item_ptr(leaf, slot, struct btrfs_dir_item);
527 dir_item_err(leaf, slot,
536 ret = check_root_key(leaf, &location_key, slot);
541 ret = check_inode_key(leaf, &location_key, slot);
545 dir_item_err(leaf, slot,
555 dir_item_err(leaf, slot,
563 dir_item_err(leaf, slot,
570 dir_item_err(leaf, slot,
583 dir_item_err(leaf, slot,
589 dir_item_err(leaf, slot,
597 dir_item_err(leaf, slot,
607 dir_item_err(leaf, slot,
625 dir_item_err(leaf, slot,
639 static void block_group_err(const struct extent_buffer *eb, int slot,
647 btrfs_item_key_to_cpu(eb, &key, slot);
655 "corrupt %s: root=%llu block=%llu slot=%d bg_start=%llu bg_len=%llu, %pV",
657 btrfs_header_owner(eb), btrfs_header_bytenr(eb), slot,
663 struct btrfs_key *key, int slot)
667 u32 item_size = btrfs_item_size(leaf, slot);
677 block_group_err(leaf, slot,
683 block_group_err(leaf, slot,
689 read_extent_buffer(leaf, &bgi, btrfs_item_ptr_offset(leaf, slot),
701 block_group_err(leaf, slot,
708 block_group_err(leaf, slot,
716 block_group_err(leaf, slot,
724 block_group_err(leaf, slot,
737 block_group_err(leaf, slot,
759 int slot = -1;
766 * Get the slot number by iterating through all slots, this
772 slot = i;
787 "corrupt leaf: root=%llu block=%llu slot=%d chunk_start=%llu, %pV",
788 BTRFS_CHUNK_TREE_OBJECTID, leaf->start, slot,
965 struct btrfs_key *key, int slot)
969 if (unlikely(btrfs_item_size(leaf, slot) < sizeof(struct btrfs_chunk))) {
972 btrfs_item_size(leaf, slot),
984 btrfs_item_size(leaf, slot))) {
987 btrfs_item_size(leaf, slot),
997 static void dev_item_err(const struct extent_buffer *eb, int slot,
1004 btrfs_item_key_to_cpu(eb, &key, slot);
1012 "corrupt %s: root=%llu block=%llu slot=%d devid=%llu %pV",
1014 btrfs_header_owner(eb), btrfs_header_bytenr(eb), slot,
1020 struct btrfs_key *key, int slot)
1023 const u32 item_size = btrfs_item_size(leaf, slot);
1026 dev_item_err(leaf, slot,
1033 dev_item_err(leaf, slot, "invalid item size: has %u expect %zu",
1038 ditem = btrfs_item_ptr(leaf, slot, struct btrfs_dev_item);
1040 dev_item_err(leaf, slot,
1053 dev_item_err(leaf, slot,
1067 struct btrfs_key *key, int slot)
1073 const u32 item_size = btrfs_item_size(leaf, slot);
1079 ret = check_inode_key(leaf, key, slot);
1084 generic_err(leaf, slot, "invalid item size: has %u expect %zu",
1089 iitem = btrfs_item_ptr(leaf, slot, struct btrfs_inode_item);
1093 inode_item_err(leaf, slot,
1101 inode_item_err(leaf, slot,
1114 inode_item_err(leaf, slot,
1127 inode_item_err(leaf, slot,
1134 inode_item_err(leaf, slot,
1141 inode_item_err(leaf, slot,
1147 inode_item_err(leaf, slot,
1156 int slot)
1164 ret = check_root_key(leaf, key, slot);
1168 if (unlikely(btrfs_item_size(leaf, slot) != sizeof(ri) &&
1169 btrfs_item_size(leaf, slot) !=
1171 generic_err(leaf, slot,
1173 btrfs_item_size(leaf, slot), sizeof(ri),
1183 read_extent_buffer(leaf, &ri, btrfs_item_ptr_offset(leaf, slot),
1184 btrfs_item_size(leaf, slot));
1189 generic_err(leaf, slot,
1197 generic_err(leaf, slot,
1205 generic_err(leaf, slot,
1214 generic_err(leaf, slot,
1220 generic_err(leaf, slot,
1226 generic_err(leaf, slot,
1234 generic_err(leaf, slot,
1244 static void extent_err(const struct extent_buffer *eb, int slot,
1253 btrfs_item_key_to_cpu(eb, &key, slot);
1268 "corrupt %s: block=%llu slot=%d extent bytenr=%llu len=%llu %pV",
1270 eb->start, slot, bytenr, len, &vaf);
1275 struct btrfs_key *key, int slot,
1283 const u32 item_size = btrfs_item_size(leaf, slot);
1293 generic_err(leaf, slot,
1299 generic_err(leaf, slot,
1308 extent_err(leaf, slot,
1346 extent_err(leaf, slot,
1352 end = item_size + btrfs_item_ptr_offset(leaf, slot);
1355 ei = btrfs_item_ptr(leaf, slot, struct btrfs_extent_item);
1361 extent_err(leaf, slot,
1369 extent_err(leaf, slot,
1379 extent_err(leaf, slot,
1386 extent_err(leaf, slot,
1392 extent_err(leaf, slot,
1398 extent_err(leaf, slot,
1411 extent_err(leaf, slot,
1431 extent_err(leaf, slot,
1441 extent_err(leaf, slot,
1456 extent_err(leaf, slot,
1476 extent_err(leaf, slot,
1488 extent_err(leaf, slot,
1499 extent_err(leaf, slot, "unknown inline ref type: %u",
1504 extent_err(leaf, slot,
1513 extent_err(leaf, slot,
1525 extent_err(leaf, slot,
1532 extent_err(leaf, slot,
1548 extent_err(leaf, slot,
1561 struct btrfs_key *key, int slot)
1568 if (unlikely(btrfs_item_size(leaf, slot) != expect_item_size)) {
1569 generic_err(leaf, slot,
1571 btrfs_item_size(leaf, slot),
1576 generic_err(leaf, slot,
1583 extent_err(leaf, slot,
1592 struct btrfs_key *key, int slot)
1595 unsigned long ptr = btrfs_item_ptr_offset(leaf, slot);
1596 const unsigned long end = ptr + btrfs_item_size(leaf, slot);
1598 if (unlikely(btrfs_item_size(leaf, slot) % sizeof(*dref) != 0)) {
1599 generic_err(leaf, slot,
1601 btrfs_item_size(leaf, slot),
1606 generic_err(leaf, slot,
1621 extent_err(leaf, slot,
1630 #define inode_ref_err(eb, slot, fmt, args...) \
1631 inode_item_err(eb, slot, fmt, ##args)
1634 int slot)
1640 if (unlikely(!check_prev_ino(leaf, key, slot, prev_key)))
1643 if (unlikely(btrfs_item_size(leaf, slot) <= sizeof(*iref))) {
1644 inode_ref_err(leaf, slot,
1646 btrfs_item_size(leaf, slot),
1651 ptr = btrfs_item_ptr_offset(leaf, slot);
1652 end = ptr + btrfs_item_size(leaf, slot);
1657 inode_ref_err(leaf, slot,
1666 inode_ref_err(leaf, slot,
1683 const struct btrfs_key *key, int slot)
1686 btrfs_item_ptr(leaf, slot, struct btrfs_stripe_extent);
1689 generic_err(leaf, slot,
1696 generic_err(leaf, slot,
1712 generic_err(leaf, slot, "invalid raid stripe encoding %u",
1725 int slot,
1733 ret = check_extent_data_item(leaf, key, slot, prev_key);
1736 ret = check_csum_item(leaf, key, slot, prev_key);
1741 ret = check_dir_item(leaf, key, prev_key, slot);
1744 ret = check_inode_ref(leaf, key, prev_key, slot);
1747 ret = check_block_group_item(leaf, key, slot);
1750 chunk = btrfs_item_ptr(leaf, slot, struct btrfs_chunk);
1751 ret = check_leaf_chunk_item(leaf, chunk, key, slot);
1754 ret = check_dev_item(leaf, key, slot);
1757 ret = check_inode_item(leaf, key, slot);
1760 ret = check_root_item(leaf, key, slot);
1764 ret = check_extent_item(leaf, key, slot, prev_key);
1769 ret = check_simple_keyed_refs(leaf, key, slot);
1772 ret = check_extent_data_ref(leaf, key, slot);
1775 ret = check_raid_stripe_extent(leaf, key, slot);
1791 int slot;
1863 for (slot = 0; slot < nritems; slot++) {
1868 btrfs_item_key_to_cpu(leaf, &key, slot);
1872 generic_err(leaf, slot,
1880 item_data_end = (u64)btrfs_item_offset(leaf, slot) +
1881 btrfs_item_size(leaf, slot);
1887 if (slot == 0)
1891 slot - 1);
1893 generic_err(leaf, slot,
1905 generic_err(leaf, slot,
1906 "slot end outside of leaf, have %llu expect range [0, %u]",
1912 if (unlikely(btrfs_item_ptr_offset(leaf, slot) <
1913 btrfs_item_nr_offset(leaf, slot) + sizeof(struct btrfs_item))) {
1914 generic_err(leaf, slot,
1915 "slot overlaps with its data, item end %lu data start %lu",
1916 btrfs_item_nr_offset(leaf, slot) +
1918 btrfs_item_ptr_offset(leaf, slot));
1923 ret = check_leaf_item(leaf, &key, slot, &prev_key);
1951 int slot;
1975 for (slot = 0; slot < nr - 1; slot++) {
1976 bytenr = btrfs_node_blockptr(node, slot);
1977 btrfs_node_key_to_cpu(node, &key, slot);
1978 btrfs_node_key_to_cpu(node, &next_key, slot + 1);
1981 generic_err(node, slot,
1986 generic_err(node, slot,
1993 generic_err(node, slot,