Lines Matching defs:eb

19 	struct extent_buffer *eb;
24 void btrfs_init_map_token(struct btrfs_map_token *token, struct extent_buffer *eb);
45 #define read_eb_member(eb, ptr, type, member, result) (\
46 read_extent_buffer(eb, (char *)(result), \
51 #define write_eb_member(eb, ptr, type, member, result) (\
52 write_extent_buffer(eb, (char *)(result), \
63 u##bits btrfs_get_##bits(const struct extent_buffer *eb, \
65 void btrfs_set_##bits(const struct extent_buffer *eb, void *ptr, \
74 static inline u##bits btrfs_##name(const struct extent_buffer *eb, \
78 return btrfs_get_##bits(eb, s, offsetof(type, member)); \
80 static inline void btrfs_set_##name(const struct extent_buffer *eb, type *s, \
84 btrfs_set_##bits(eb, s, offsetof(type, member), val); \
100 static inline u##bits btrfs_##name(const struct extent_buffer *eb) \
102 const type *p = folio_address(eb->folios[0]) + \
103 offset_in_page(eb->start); \
106 static inline void btrfs_set_##name(const struct extent_buffer *eb, \
109 type *p = folio_address(eb->folios[0]) + offset_in_page(eb->start); \
123 static inline u64 btrfs_device_total_bytes(const struct extent_buffer *eb,
127 return btrfs_get_64(eb, s, offsetof(struct btrfs_dev_item, total_bytes));
129 static inline void btrfs_set_device_total_bytes(const struct extent_buffer *eb,
134 WARN_ON(!IS_ALIGNED(val, eb->fs_info->sectorsize));
135 btrfs_set_64(eb, s, offsetof(struct btrfs_dev_item, total_bytes), val);
227 static inline u64 btrfs_stripe_offset_nr(const struct extent_buffer *eb,
230 return btrfs_stripe_offset(eb, btrfs_stripe_nr(c, nr));
233 static inline void btrfs_set_stripe_offset_nr(struct extent_buffer *eb,
237 btrfs_set_stripe_offset(eb, btrfs_stripe_nr(c, nr), val);
240 static inline u64 btrfs_stripe_devid_nr(const struct extent_buffer *eb,
243 return btrfs_stripe_devid(eb, btrfs_stripe_nr(c, nr));
246 static inline void btrfs_set_stripe_devid_nr(struct extent_buffer *eb,
250 btrfs_set_stripe_devid(eb, btrfs_stripe_nr(c, nr), val);
347 static inline void btrfs_tree_block_key(const struct extent_buffer *eb,
351 read_eb_member(eb, item, struct btrfs_tree_block_info, key, key);
354 static inline void btrfs_set_tree_block_key(const struct extent_buffer *eb,
358 write_eb_member(eb, item, struct btrfs_tree_block_info, key, key);
401 static inline u64 btrfs_node_blockptr(const struct extent_buffer *eb, int nr)
407 return btrfs_key_blockptr(eb, (struct btrfs_key_ptr *)ptr);
410 static inline void btrfs_set_node_blockptr(const struct extent_buffer *eb,
417 btrfs_set_key_blockptr(eb, (struct btrfs_key_ptr *)ptr, val);
420 static inline u64 btrfs_node_ptr_generation(const struct extent_buffer *eb, int nr)
426 return btrfs_key_generation(eb, (struct btrfs_key_ptr *)ptr);
429 static inline void btrfs_set_node_ptr_generation(const struct extent_buffer *eb,
436 btrfs_set_key_generation(eb, (struct btrfs_key_ptr *)ptr, val);
439 static inline unsigned long btrfs_node_key_ptr_offset(const struct extent_buffer *eb, int nr)
445 void btrfs_node_key(const struct extent_buffer *eb,
448 static inline void btrfs_set_node_key(const struct extent_buffer *eb,
453 ptr = btrfs_node_key_ptr_offset(eb, nr);
454 write_eb_member(eb, (struct btrfs_key_ptr *)ptr,
464 static inline unsigned long btrfs_item_nr_offset(const struct extent_buffer *eb, int nr)
470 static inline struct btrfs_item *btrfs_item_nr(const struct extent_buffer *eb, int nr)
472 return (struct btrfs_item *)btrfs_item_nr_offset(eb, nr);
476 static inline u32 btrfs_item_##member(const struct extent_buffer *eb, int slot) \
478 return btrfs_raw_item_##member(eb, btrfs_item_nr(eb, slot)); \
480 static inline void btrfs_set_item_##member(const struct extent_buffer *eb, \
483 btrfs_set_raw_item_##member(eb, btrfs_item_nr(eb, slot), val); \
488 struct btrfs_item *item = btrfs_item_nr(token->eb, slot); \
494 struct btrfs_item *item = btrfs_item_nr(token->eb, slot); \
501 static inline u32 btrfs_item_data_end(const struct extent_buffer *eb, int nr)
503 return btrfs_item_offset(eb, nr) + btrfs_item_size(eb, nr);
506 static inline void btrfs_item_key(const struct extent_buffer *eb,
509 struct btrfs_item *item = btrfs_item_nr(eb, nr);
511 read_eb_member(eb, item, struct btrfs_item, key, disk_key);
514 static inline void btrfs_set_item_key(struct extent_buffer *eb,
517 struct btrfs_item *item = btrfs_item_nr(eb, nr);
519 write_eb_member(eb, item, struct btrfs_item, key, disk_key);
542 static inline u8 btrfs_dir_ftype(const struct extent_buffer *eb,
545 return btrfs_dir_flags_to_ftype(btrfs_dir_flags(eb, item));
553 static inline void btrfs_dir_item_key(const struct extent_buffer *eb,
557 read_eb_member(eb, item, struct btrfs_dir_item, location, key);
560 static inline void btrfs_set_dir_item_key(struct extent_buffer *eb,
564 write_eb_member(eb, item, struct btrfs_dir_item, location, key);
574 static inline void btrfs_free_space_key(const struct extent_buffer *eb,
578 read_eb_member(eb, h, struct btrfs_free_space_header, location, key);
581 static inline void btrfs_set_free_space_key(struct extent_buffer *eb,
585 write_eb_member(eb, h, struct btrfs_free_space_header, location, key);
612 static inline void btrfs_node_key_to_cpu(const struct extent_buffer *eb,
617 btrfs_node_key(eb, disk_key, nr);
620 static inline void btrfs_item_key_to_cpu(const struct extent_buffer *eb,
625 btrfs_item_key(eb, disk_key, nr);
628 static inline void btrfs_dir_item_key_to_cpu(const struct extent_buffer *eb,
634 btrfs_dir_item_key(eb, item, disk_key);
655 static inline void btrfs_node_key_to_cpu(const struct extent_buffer *eb,
660 btrfs_node_key(eb, &disk_key, nr);
664 static inline void btrfs_item_key_to_cpu(const struct extent_buffer *eb,
669 btrfs_item_key(eb, &disk_key, nr);
673 static inline void btrfs_dir_item_key_to_cpu(const struct extent_buffer *eb,
679 btrfs_dir_item_key(eb, item, &disk_key);
698 static inline int btrfs_header_flag(const struct extent_buffer *eb, u64 flag)
700 return (btrfs_header_flags(eb) & flag) == flag;
703 static inline void btrfs_set_header_flag(struct extent_buffer *eb, u64 flag)
705 u64 flags = btrfs_header_flags(eb);
707 btrfs_set_header_flags(eb, flags | flag);
710 static inline void btrfs_clear_header_flag(struct extent_buffer *eb, u64 flag)
712 u64 flags = btrfs_header_flags(eb);
714 btrfs_set_header_flags(eb, flags & ~flag);
717 static inline int btrfs_header_backref_rev(const struct extent_buffer *eb)
719 u64 flags = btrfs_header_flags(eb);
724 static inline void btrfs_set_header_backref_rev(struct extent_buffer *eb, int rev)
726 u64 flags = btrfs_header_flags(eb);
730 btrfs_set_header_flags(eb, flags);
733 static inline int btrfs_is_leaf(const struct extent_buffer *eb)
735 return btrfs_header_level(eb) == 0;
814 static inline void btrfs_balance_data(const struct extent_buffer *eb,
818 read_eb_member(eb, bi, struct btrfs_balance_item, data, ba);
821 static inline void btrfs_set_balance_data(struct extent_buffer *eb,
825 write_eb_member(eb, bi, struct btrfs_balance_item, data, ba);
828 static inline void btrfs_balance_meta(const struct extent_buffer *eb,
832 read_eb_member(eb, bi, struct btrfs_balance_item, meta, ba);
835 static inline void btrfs_set_balance_meta(struct extent_buffer *eb,
839 write_eb_member(eb, bi, struct btrfs_balance_item, meta, ba);
842 static inline void btrfs_balance_sys(const struct extent_buffer *eb,
846 read_eb_member(eb, bi, struct btrfs_balance_item, sys, ba);
849 static inline void btrfs_set_balance_sys(struct extent_buffer *eb,
853 write_eb_member(eb, bi, struct btrfs_balance_item, sys, ba);