Lines Matching defs:eb

100 	 * The address where the eb can be accessed without any cross-page handling.
108 /* >= 0 if eb belongs to a log tree, -1 otherwise */
129 struct extent_buffer *eb;
130 /* Block group @eb resides in. Only used for zoned mode. */
134 static inline unsigned long offset_in_eb_folio(const struct extent_buffer *eb,
137 ASSERT(eb->folio_size);
138 return start & (eb->folio_size - 1);
144 * @eb: target extent buffer
149 static inline size_t get_eb_offset_in_folio(const struct extent_buffer *eb,
154 * 1.1) One large folio covering the whole eb
155 * The eb->start is aligned to folio size, thus adding it
158 * The eb->start is aligned to folio (page) size, thus
164 * We need to add eb->start to properly access the offset inside
165 * that eb.
167 return offset_in_folio(eb->folios[0], offset + eb->start);
170 static inline unsigned long get_eb_folio_index(const struct extent_buffer *eb,
175 * 1.1) One large folio covering the whole eb.
185 return offset >> eb->folio_shift;
260 void free_extent_buffer(struct extent_buffer *eb);
261 void free_extent_buffer_stale(struct extent_buffer *eb);
265 int read_extent_buffer_pages(struct extent_buffer *eb, int wait, int mirror_num,
267 void wait_on_extent_buffer_writeback(struct extent_buffer *eb);
272 static inline int num_extent_pages(const struct extent_buffer *eb)
276 * sectorsize, it's just eb->len >> PAGE_SHIFT.
281 return (eb->len >> PAGE_SHIFT) ?: 1;
285 * This can only be determined at runtime by checking eb::folios[0].
287 * As we can have either one large folio covering the whole eb
291 static inline int num_extent_folios(const struct extent_buffer *eb)
293 if (folio_order(eb->folios[0]))
295 return num_extent_pages(eb);
298 static inline int extent_buffer_uptodate(const struct extent_buffer *eb)
300 return test_bit(EXTENT_BUFFER_UPTODATE, &eb->bflags);
303 int memcmp_extent_buffer(const struct extent_buffer *eb, const void *ptrv,
305 void read_extent_buffer(const struct extent_buffer *eb, void *dst,
308 int read_extent_buffer_to_user_nofault(const struct extent_buffer *eb,
311 void write_extent_buffer(const struct extent_buffer *eb, const void *src,
315 const struct extent_buffer *eb, const void *chunk_tree_uuid)
317 write_extent_buffer(eb, chunk_tree_uuid,
322 static inline void write_extent_buffer_fsid(const struct extent_buffer *eb,
325 write_extent_buffer(eb, fsid, offsetof(struct btrfs_header, fsid),
341 void memzero_extent_buffer(const struct extent_buffer *eb, unsigned long start,
343 int extent_buffer_test_bit(const struct extent_buffer *eb, unsigned long start,
345 void extent_buffer_bitmap_set(const struct extent_buffer *eb, unsigned long start,
347 void extent_buffer_bitmap_clear(const struct extent_buffer *eb,
350 void set_extent_buffer_dirty(struct extent_buffer *eb);
351 void set_extent_buffer_uptodate(struct extent_buffer *eb);
352 void clear_extent_buffer_uptodate(struct extent_buffer *eb);