Lines Matching refs:leaf

207 	struct extent_buffer *leaf;  in btrfs_drop_extents()  local
256 leaf = path->nodes[0]; in btrfs_drop_extents()
257 btrfs_item_key_to_cpu(leaf, &key, path->slots[0] - 1); in btrfs_drop_extents()
264 leaf = path->nodes[0]; in btrfs_drop_extents()
265 if (path->slots[0] >= btrfs_header_nritems(leaf)) { in btrfs_drop_extents()
274 leaf = path->nodes[0]; in btrfs_drop_extents()
278 btrfs_item_key_to_cpu(leaf, &key, path->slots[0]); in btrfs_drop_extents()
291 fi = btrfs_item_ptr(leaf, path->slots[0], in btrfs_drop_extents()
293 extent_type = btrfs_file_extent_type(leaf, fi); in btrfs_drop_extents()
297 disk_bytenr = btrfs_file_extent_disk_bytenr(leaf, fi); in btrfs_drop_extents()
298 num_bytes = btrfs_file_extent_disk_num_bytes(leaf, fi); in btrfs_drop_extents()
299 extent_offset = btrfs_file_extent_offset(leaf, fi); in btrfs_drop_extents()
301 btrfs_file_extent_num_bytes(leaf, fi); in btrfs_drop_extents()
304 btrfs_file_extent_ram_bytes(leaf, fi); in btrfs_drop_extents()
359 leaf = path->nodes[0]; in btrfs_drop_extents()
360 fi = btrfs_item_ptr(leaf, path->slots[0] - 1, in btrfs_drop_extents()
362 btrfs_set_file_extent_num_bytes(leaf, fi, in btrfs_drop_extents()
365 fi = btrfs_item_ptr(leaf, path->slots[0], in btrfs_drop_extents()
369 btrfs_set_file_extent_offset(leaf, fi, extent_offset); in btrfs_drop_extents()
370 btrfs_set_file_extent_num_bytes(leaf, fi, in btrfs_drop_extents()
372 btrfs_mark_buffer_dirty(trans, leaf); in btrfs_drop_extents()
415 btrfs_set_file_extent_offset(leaf, fi, extent_offset); in btrfs_drop_extents()
416 btrfs_set_file_extent_num_bytes(leaf, fi, in btrfs_drop_extents()
418 btrfs_mark_buffer_dirty(trans, leaf); in btrfs_drop_extents()
436 btrfs_set_file_extent_num_bytes(leaf, fi, in btrfs_drop_extents()
438 btrfs_mark_buffer_dirty(trans, leaf); in btrfs_drop_extents()
490 if (path->slots[0] + 1 < btrfs_header_nritems(leaf)) { in btrfs_drop_extents()
525 leaf = path->nodes[0]; in btrfs_drop_extents()
533 btrfs_leaf_free_space(leaf) >= in btrfs_drop_extents()
539 if (!del_nr && path->slots[0] < btrfs_header_nritems(leaf)) { in btrfs_drop_extents()
542 btrfs_item_key_to_cpu(leaf, &slot_key, path->slots[0]); in btrfs_drop_extents()
561 static int extent_mergeable(struct extent_buffer *leaf, int slot, in extent_mergeable() argument
569 if (slot < 0 || slot >= btrfs_header_nritems(leaf)) in extent_mergeable()
572 btrfs_item_key_to_cpu(leaf, &key, slot); in extent_mergeable()
576 fi = btrfs_item_ptr(leaf, slot, struct btrfs_file_extent_item); in extent_mergeable()
577 if (btrfs_file_extent_type(leaf, fi) != BTRFS_FILE_EXTENT_REG || in extent_mergeable()
578 btrfs_file_extent_disk_bytenr(leaf, fi) != bytenr || in extent_mergeable()
579 btrfs_file_extent_offset(leaf, fi) != key.offset - orig_offset || in extent_mergeable()
580 btrfs_file_extent_compression(leaf, fi) || in extent_mergeable()
581 btrfs_file_extent_encryption(leaf, fi) || in extent_mergeable()
582 btrfs_file_extent_other_encoding(leaf, fi)) in extent_mergeable()
585 extent_end = key.offset + btrfs_file_extent_num_bytes(leaf, fi); in extent_mergeable()
605 struct extent_buffer *leaf; in btrfs_mark_extent_written() local
640 leaf = path->nodes[0]; in btrfs_mark_extent_written()
641 btrfs_item_key_to_cpu(leaf, &key, path->slots[0]); in btrfs_mark_extent_written()
648 fi = btrfs_item_ptr(leaf, path->slots[0], in btrfs_mark_extent_written()
650 if (btrfs_file_extent_type(leaf, fi) != BTRFS_FILE_EXTENT_PREALLOC) { in btrfs_mark_extent_written()
655 extent_end = key.offset + btrfs_file_extent_num_bytes(leaf, fi); in btrfs_mark_extent_written()
662 bytenr = btrfs_file_extent_disk_bytenr(leaf, fi); in btrfs_mark_extent_written()
663 num_bytes = btrfs_file_extent_disk_num_bytes(leaf, fi); in btrfs_mark_extent_written()
664 orig_offset = key.offset - btrfs_file_extent_offset(leaf, fi); in btrfs_mark_extent_written()
670 if (extent_mergeable(leaf, path->slots[0] - 1, in btrfs_mark_extent_written()
675 fi = btrfs_item_ptr(leaf, path->slots[0], in btrfs_mark_extent_written()
677 btrfs_set_file_extent_generation(leaf, fi, in btrfs_mark_extent_written()
679 btrfs_set_file_extent_num_bytes(leaf, fi, in btrfs_mark_extent_written()
681 btrfs_set_file_extent_offset(leaf, fi, in btrfs_mark_extent_written()
683 fi = btrfs_item_ptr(leaf, path->slots[0] - 1, in btrfs_mark_extent_written()
685 btrfs_set_file_extent_generation(leaf, fi, in btrfs_mark_extent_written()
687 btrfs_set_file_extent_num_bytes(leaf, fi, in btrfs_mark_extent_written()
689 btrfs_mark_buffer_dirty(trans, leaf); in btrfs_mark_extent_written()
697 if (extent_mergeable(leaf, path->slots[0] + 1, in btrfs_mark_extent_written()
700 fi = btrfs_item_ptr(leaf, path->slots[0], in btrfs_mark_extent_written()
702 btrfs_set_file_extent_num_bytes(leaf, fi, in btrfs_mark_extent_written()
704 btrfs_set_file_extent_generation(leaf, fi, in btrfs_mark_extent_written()
710 fi = btrfs_item_ptr(leaf, path->slots[0], in btrfs_mark_extent_written()
712 btrfs_set_file_extent_generation(leaf, fi, in btrfs_mark_extent_written()
714 btrfs_set_file_extent_num_bytes(leaf, fi, in btrfs_mark_extent_written()
716 btrfs_set_file_extent_offset(leaf, fi, in btrfs_mark_extent_written()
718 btrfs_mark_buffer_dirty(trans, leaf); in btrfs_mark_extent_written()
738 leaf = path->nodes[0]; in btrfs_mark_extent_written()
739 fi = btrfs_item_ptr(leaf, path->slots[0] - 1, in btrfs_mark_extent_written()
741 btrfs_set_file_extent_generation(leaf, fi, trans->transid); in btrfs_mark_extent_written()
742 btrfs_set_file_extent_num_bytes(leaf, fi, in btrfs_mark_extent_written()
745 fi = btrfs_item_ptr(leaf, path->slots[0], in btrfs_mark_extent_written()
748 btrfs_set_file_extent_generation(leaf, fi, trans->transid); in btrfs_mark_extent_written()
749 btrfs_set_file_extent_offset(leaf, fi, split - orig_offset); in btrfs_mark_extent_written()
750 btrfs_set_file_extent_num_bytes(leaf, fi, in btrfs_mark_extent_written()
752 btrfs_mark_buffer_dirty(trans, leaf); in btrfs_mark_extent_written()
791 if (extent_mergeable(leaf, path->slots[0] + 1, in btrfs_mark_extent_written()
809 if (extent_mergeable(leaf, path->slots[0] - 1, in btrfs_mark_extent_written()
826 fi = btrfs_item_ptr(leaf, path->slots[0], in btrfs_mark_extent_written()
828 btrfs_set_file_extent_type(leaf, fi, in btrfs_mark_extent_written()
830 btrfs_set_file_extent_generation(leaf, fi, trans->transid); in btrfs_mark_extent_written()
831 btrfs_mark_buffer_dirty(trans, leaf); in btrfs_mark_extent_written()
833 fi = btrfs_item_ptr(leaf, del_slot - 1, in btrfs_mark_extent_written()
835 btrfs_set_file_extent_type(leaf, fi, in btrfs_mark_extent_written()
837 btrfs_set_file_extent_generation(leaf, fi, trans->transid); in btrfs_mark_extent_written()
838 btrfs_set_file_extent_num_bytes(leaf, fi, in btrfs_mark_extent_written()
840 btrfs_mark_buffer_dirty(trans, leaf); in btrfs_mark_extent_written()
2068 static int hole_mergeable(struct btrfs_inode *inode, struct extent_buffer *leaf, in hole_mergeable() argument
2074 if (slot < 0 || slot >= btrfs_header_nritems(leaf)) in hole_mergeable()
2077 btrfs_item_key_to_cpu(leaf, &key, slot); in hole_mergeable()
2082 fi = btrfs_item_ptr(leaf, slot, struct btrfs_file_extent_item); in hole_mergeable()
2084 if (btrfs_file_extent_type(leaf, fi) != BTRFS_FILE_EXTENT_REG) in hole_mergeable()
2087 if (btrfs_file_extent_disk_bytenr(leaf, fi)) in hole_mergeable()
2092 if (key.offset + btrfs_file_extent_num_bytes(leaf, fi) == start) in hole_mergeable()
2103 struct extent_buffer *leaf; in fill_holes() local
2127 leaf = path->nodes[0]; in fill_holes()
2128 if (hole_mergeable(inode, leaf, path->slots[0] - 1, offset, end)) { in fill_holes()
2132 fi = btrfs_item_ptr(leaf, path->slots[0], in fill_holes()
2134 num_bytes = btrfs_file_extent_num_bytes(leaf, fi) + in fill_holes()
2136 btrfs_set_file_extent_num_bytes(leaf, fi, num_bytes); in fill_holes()
2137 btrfs_set_file_extent_ram_bytes(leaf, fi, num_bytes); in fill_holes()
2138 btrfs_set_file_extent_offset(leaf, fi, 0); in fill_holes()
2139 btrfs_set_file_extent_generation(leaf, fi, trans->transid); in fill_holes()
2140 btrfs_mark_buffer_dirty(trans, leaf); in fill_holes()
2144 if (hole_mergeable(inode, leaf, path->slots[0], offset, end)) { in fill_holes()
2149 fi = btrfs_item_ptr(leaf, path->slots[0], in fill_holes()
2151 num_bytes = btrfs_file_extent_num_bytes(leaf, fi) + end - in fill_holes()
2153 btrfs_set_file_extent_num_bytes(leaf, fi, num_bytes); in fill_holes()
2154 btrfs_set_file_extent_ram_bytes(leaf, fi, num_bytes); in fill_holes()
2155 btrfs_set_file_extent_offset(leaf, fi, 0); in fill_holes()
2156 btrfs_set_file_extent_generation(leaf, fi, trans->transid); in fill_holes()
2157 btrfs_mark_buffer_dirty(trans, leaf); in fill_holes()
2273 struct extent_buffer *leaf; in btrfs_insert_replace_extent() local
2294 leaf = path->nodes[0]; in btrfs_insert_replace_extent()
2296 write_extent_buffer(leaf, extent_info->extent_buf, in btrfs_insert_replace_extent()
2297 btrfs_item_ptr_offset(leaf, slot), in btrfs_insert_replace_extent()
2299 extent = btrfs_item_ptr(leaf, slot, struct btrfs_file_extent_item); in btrfs_insert_replace_extent()
2300 ASSERT(btrfs_file_extent_type(leaf, extent) != BTRFS_FILE_EXTENT_INLINE); in btrfs_insert_replace_extent()
2301 btrfs_set_file_extent_offset(leaf, extent, extent_info->data_offset); in btrfs_insert_replace_extent()
2302 btrfs_set_file_extent_num_bytes(leaf, extent, replace_len); in btrfs_insert_replace_extent()
2304 btrfs_set_file_extent_generation(leaf, extent, trans->transid); in btrfs_insert_replace_extent()
2305 btrfs_mark_buffer_dirty(trans, leaf); in btrfs_insert_replace_extent()
3595 struct extent_buffer *leaf = path->nodes[0]; in find_desired_extent() local
3600 if (path->slots[0] >= btrfs_header_nritems(leaf)) { in find_desired_extent()
3607 leaf = path->nodes[0]; in find_desired_extent()
3610 btrfs_item_key_to_cpu(leaf, &key, path->slots[0]); in find_desired_extent()
3652 extent = btrfs_item_ptr(leaf, path->slots[0], in find_desired_extent()
3654 type = btrfs_file_extent_type(leaf, extent); in find_desired_extent()
3663 btrfs_file_extent_disk_bytenr(leaf, extent) == 0)) { in find_desired_extent()