Lines Matching defs:leaf

1726 	struct extent_buffer *leaf = NULL;
1743 leaf = path->nodes[0];
1744 btrfs_item_key_to_cpu(leaf, &found_key, path->slots[0]);
1745 extent = btrfs_item_ptr(leaf, path->slots[0],
1748 btrfs_dev_extent_length(leaf, extent) < start);
1753 leaf = path->nodes[0];
1754 extent = btrfs_item_ptr(leaf, path->slots[0],
1761 *dev_extent_len = btrfs_dev_extent_length(leaf, extent);
1784 struct extent_buffer *leaf;
1801 leaf = path->nodes[0];
1802 extent = btrfs_item_ptr(leaf, path->slots[0],
1804 btrfs_set_dev_extent_chunk_tree(leaf, extent,
1806 btrfs_set_dev_extent_chunk_objectid(leaf, extent,
1808 btrfs_set_dev_extent_chunk_offset(leaf, extent, chunk_offset);
1810 btrfs_set_dev_extent_length(leaf, extent, num_bytes);
1811 btrfs_mark_buffer_dirty(leaf);
1889 struct extent_buffer *leaf;
1906 leaf = path->nodes[0];
1907 dev_item = btrfs_item_ptr(leaf, path->slots[0], struct btrfs_dev_item);
1909 btrfs_set_device_id(leaf, dev_item, device->devid);
1910 btrfs_set_device_generation(leaf, dev_item, 0);
1911 btrfs_set_device_type(leaf, dev_item, device->type);
1912 btrfs_set_device_io_align(leaf, dev_item, device->io_align);
1913 btrfs_set_device_io_width(leaf, dev_item, device->io_width);
1914 btrfs_set_device_sector_size(leaf, dev_item, device->sector_size);
1915 btrfs_set_device_total_bytes(leaf, dev_item,
1917 btrfs_set_device_bytes_used(leaf, dev_item,
1919 btrfs_set_device_group(leaf, dev_item, 0);
1920 btrfs_set_device_seek_speed(leaf, dev_item, 0);
1921 btrfs_set_device_bandwidth(leaf, dev_item, 0);
1922 btrfs_set_device_start_offset(leaf, dev_item, 0);
1925 write_extent_buffer(leaf, device->uuid, ptr, BTRFS_UUID_SIZE);
1927 write_extent_buffer(leaf, trans->fs_info->fs_devices->metadata_uuid,
1929 btrfs_mark_buffer_dirty(leaf);
2512 struct extent_buffer *leaf;
2534 leaf = path->nodes[0];
2536 if (path->slots[0] >= btrfs_header_nritems(leaf)) {
2542 leaf = path->nodes[0];
2543 btrfs_item_key_to_cpu(leaf, &key, path->slots[0]);
2548 btrfs_item_key_to_cpu(leaf, &key, path->slots[0]);
2553 dev_item = btrfs_item_ptr(leaf, path->slots[0],
2555 devid = btrfs_device_id(leaf, dev_item);
2556 read_extent_buffer(leaf, dev_uuid, btrfs_device_uuid(dev_item),
2558 read_extent_buffer(leaf, fs_uuid, btrfs_device_fsid(dev_item),
2565 btrfs_set_device_generation(leaf, dev_item,
2567 btrfs_mark_buffer_dirty(leaf);
2818 struct extent_buffer *leaf;
2838 leaf = path->nodes[0];
2839 dev_item = btrfs_item_ptr(leaf, path->slots[0], struct btrfs_dev_item);
2841 btrfs_set_device_id(leaf, dev_item, device->devid);
2842 btrfs_set_device_type(leaf, dev_item, device->type);
2843 btrfs_set_device_io_align(leaf, dev_item, device->io_align);
2844 btrfs_set_device_io_width(leaf, dev_item, device->io_width);
2845 btrfs_set_device_sector_size(leaf, dev_item, device->sector_size);
2846 btrfs_set_device_total_bytes(leaf, dev_item,
2848 btrfs_set_device_bytes_used(leaf, dev_item,
2850 btrfs_mark_buffer_dirty(leaf);
3156 struct extent_buffer *leaf;
3192 leaf = path->nodes[0];
3193 btrfs_item_key_to_cpu(leaf, &found_key, path->slots[0]);
3195 chunk = btrfs_item_ptr(leaf, path->slots[0],
3197 chunk_type = btrfs_chunk_type(leaf, chunk);
3276 struct extent_buffer *leaf;
3299 leaf = path->nodes[0];
3300 item = btrfs_item_ptr(leaf, path->slots[0], struct btrfs_balance_item);
3302 memzero_extent_buffer(leaf, (unsigned long)item, sizeof(*item));
3305 btrfs_set_balance_data(leaf, item, &disk_bargs);
3307 btrfs_set_balance_meta(leaf, item, &disk_bargs);
3309 btrfs_set_balance_sys(leaf, item, &disk_bargs);
3311 btrfs_set_balance_flags(leaf, item, bctl->flags);
3313 btrfs_mark_buffer_dirty(leaf);
3497 static int chunk_devid_filter(struct extent_buffer *leaf,
3502 int num_stripes = btrfs_chunk_num_stripes(leaf, chunk);
3507 if (btrfs_stripe_devid(leaf, stripe) == bargs->devid)
3527 static int chunk_drange_filter(struct extent_buffer *leaf,
3532 int num_stripes = btrfs_chunk_num_stripes(leaf, chunk);
3542 type = btrfs_chunk_type(leaf, chunk);
3547 if (btrfs_stripe_devid(leaf, stripe) != bargs->devid)
3550 stripe_offset = btrfs_stripe_offset(leaf, stripe);
3551 stripe_length = btrfs_chunk_length(leaf, chunk);
3563 static int chunk_vrange_filter(struct extent_buffer *leaf,
3569 chunk_offset + btrfs_chunk_length(leaf, chunk) > bargs->vstart)
3576 static int chunk_stripes_range_filter(struct extent_buffer *leaf,
3580 int num_stripes = btrfs_chunk_num_stripes(leaf, chunk);
3604 static int should_balance_chunk(struct extent_buffer *leaf,
3607 struct btrfs_fs_info *fs_info = leaf->fs_info;
3610 u64 chunk_type = btrfs_chunk_type(leaf, chunk);
3642 chunk_devid_filter(leaf, chunk, bargs)) {
3648 chunk_drange_filter(leaf, chunk, bargs)) {
3654 chunk_vrange_filter(leaf, chunk, chunk_offset, bargs)) {
3660 chunk_stripes_range_filter(leaf, chunk, bargs)) {
3702 struct extent_buffer *leaf;
3769 leaf = path->nodes[0];
3771 btrfs_item_key_to_cpu(leaf, &found_key, slot);
3778 chunk = btrfs_item_ptr(leaf, slot, struct btrfs_chunk);
3779 chunk_type = btrfs_chunk_type(leaf, chunk);
3787 ret = should_balance_chunk(leaf, chunk, found_key.offset);
4334 struct extent_buffer *leaf;
4360 leaf = path->nodes[0];
4361 item = btrfs_item_ptr(leaf, path->slots[0], struct btrfs_balance_item);
4363 bctl->flags = btrfs_balance_flags(leaf, item);
4366 btrfs_balance_data(leaf, item, &disk_bargs);
4368 btrfs_balance_meta(leaf, item, &disk_bargs);
4370 btrfs_balance_sys(leaf, item, &disk_bargs);
6680 static int read_one_chunk(struct btrfs_key *key, struct extent_buffer *leaf,
6683 struct btrfs_fs_info *fs_info = leaf->fs_info;
6696 length = btrfs_chunk_length(leaf, chunk);
6697 num_stripes = btrfs_chunk_num_stripes(leaf, chunk);
6703 if (leaf->start == BTRFS_SUPER_INFO_OFFSET) {
6704 ret = btrfs_check_chunk_valid(leaf, chunk, logical);
6739 map->io_width = btrfs_chunk_io_width(leaf, chunk);
6740 map->io_align = btrfs_chunk_io_align(leaf, chunk);
6741 map->stripe_len = btrfs_chunk_stripe_len(leaf, chunk);
6742 map->type = btrfs_chunk_type(leaf, chunk);
6743 map->sub_stripes = btrfs_chunk_sub_stripes(leaf, chunk);
6749 btrfs_stripe_offset_nr(leaf, chunk, i);
6750 devid = btrfs_stripe_devid_nr(leaf, chunk, i);
6751 read_extent_buffer(leaf, uuid, (unsigned long)
6793 static void fill_device_from_item(struct extent_buffer *leaf,
6799 device->devid = btrfs_device_id(leaf, dev_item);
6800 device->disk_total_bytes = btrfs_device_total_bytes(leaf, dev_item);
6803 device->bytes_used = btrfs_device_bytes_used(leaf, dev_item);
6805 device->type = btrfs_device_type(leaf, dev_item);
6806 device->io_align = btrfs_device_io_align(leaf, dev_item);
6807 device->io_width = btrfs_device_io_width(leaf, dev_item);
6808 device->sector_size = btrfs_device_sector_size(leaf, dev_item);
6813 read_extent_buffer(leaf, device->uuid, ptr, BTRFS_UUID_SIZE);
6870 static int read_one_dev(struct extent_buffer *leaf,
6873 struct btrfs_fs_info *fs_info = leaf->fs_info;
6881 devid = btrfs_device_id(leaf, dev_item);
6882 read_extent_buffer(leaf, dev_uuid, btrfs_device_uuid(dev_item),
6884 read_extent_buffer(leaf, fs_uuid, btrfs_device_fsid(dev_item),
6952 btrfs_device_generation(leaf, dev_item))
6956 fill_device_from_item(leaf, dev_item, device);
7171 struct extent_buffer *leaf;
7212 leaf = path->nodes[0];
7214 if (slot >= btrfs_header_nritems(leaf)) {
7233 btrfs_item_key_to_cpu(leaf, &found_key, slot);
7236 dev_item = btrfs_item_ptr(leaf, slot,
7238 ret = read_one_dev(leaf, dev_item);
7244 chunk = btrfs_item_ptr(leaf, slot, struct btrfs_chunk);
7246 ret = read_one_chunk(&found_key, leaf, chunk);
7783 struct extent_buffer *leaf = path->nodes[0];
7791 btrfs_item_key_to_cpu(leaf, &key, slot);
7797 dext = btrfs_item_ptr(leaf, slot, struct btrfs_dev_extent);
7798 chunk_offset = btrfs_dev_extent_chunk_offset(leaf, dext);
7799 physical_len = btrfs_dev_extent_length(leaf, dext);