Lines Matching refs:block_ctx

240 	struct btrfsic_block_data_ctx *block_ctx;  member
306 struct btrfsic_block_data_ctx *block_ctx,
309 struct btrfsic_block_data_ctx *block_ctx,
315 *block_ctx, u64 next_bytenr,
325 struct btrfsic_block_data_ctx *block_ctx,
330 static void btrfsic_release_block_ctx(struct btrfsic_block_data_ctx *block_ctx);
332 struct btrfsic_block_data_ctx *block_ctx);
372 struct btrfsic_block_data_ctx *block_ctx,
992 sf->block_ctx = first_block_ctx; in btrfsic_process_metablock()
1010 sf->block_ctx->start, sf->nr, in btrfsic_process_metablock()
1034 sf->block_ctx->len) { in btrfsic_process_metablock()
1038 sf->block_ctx->start, in btrfsic_process_metablock()
1039 sf->block_ctx->dev->name); in btrfsic_process_metablock()
1042 btrfsic_read_from_block_data(sf->block_ctx, in btrfsic_process_metablock()
1059 sf->block_ctx->len) in btrfsic_process_metablock()
1062 sf->block_ctx, &root_item, in btrfsic_process_metablock()
1071 sf->block_ctx, in btrfsic_process_metablock()
1102 next_stack->block_ctx = in btrfsic_process_metablock()
1117 sf->block_ctx, in btrfsic_process_metablock()
1135 sf->block_ctx->start, in btrfsic_process_metablock()
1157 sf->block_ctx->len) { in btrfsic_process_metablock()
1160 sf->block_ctx->start, in btrfsic_process_metablock()
1161 sf->block_ctx->dev->name); in btrfsic_process_metablock()
1165 sf->block_ctx, &key_ptr, key_ptr_offset, in btrfsic_process_metablock()
1172 sf->block_ctx, in btrfsic_process_metablock()
1198 next_stack->block_ctx = &sf->next_block_ctx; in btrfsic_process_metablock()
1217 btrfsic_release_block_ctx(sf->block_ctx); in btrfsic_process_metablock()
1237 struct btrfsic_block_data_ctx *block_ctx, in btrfsic_read_from_block_data() argument
1244 size_t start_offset = block_ctx->start & ((u64)PAGE_CACHE_SIZE - 1); in btrfsic_read_from_block_data()
1247 WARN_ON(offset + len > block_ctx->len); in btrfsic_read_from_block_data()
1252 BUG_ON(i >= DIV_ROUND_UP(block_ctx->len, PAGE_CACHE_SIZE)); in btrfsic_read_from_block_data()
1253 kaddr = block_ctx->datav[i]; in btrfsic_read_from_block_data()
1266 struct btrfsic_block_data_ctx *block_ctx, in btrfsic_create_link_to_next_block() argument
1352 block_ctx->dev->bdev, in btrfsic_create_link_to_next_block()
1353 block_ctx->dev_bytenr, in btrfsic_create_link_to_next_block()
1414 struct btrfsic_block_data_ctx *block_ctx, in btrfsic_handle_extent_data() argument
1429 block_ctx->len) { in btrfsic_handle_extent_data()
1432 block_ctx->start, block_ctx->dev->name); in btrfsic_handle_extent_data()
1436 btrfsic_read_from_block_data(block_ctx, &file_extent_item, in btrfsic_handle_extent_data()
1450 block_ctx->len) { in btrfsic_handle_extent_data()
1453 block_ctx->start, block_ctx->dev->name); in btrfsic_handle_extent_data()
1456 btrfsic_read_from_block_data(block_ctx, &file_extent_item, in btrfsic_handle_extent_data()
1611 static void btrfsic_release_block_ctx(struct btrfsic_block_data_ctx *block_ctx) in btrfsic_release_block_ctx() argument
1613 if (block_ctx->mem_to_free) { in btrfsic_release_block_ctx()
1616 BUG_ON(!block_ctx->datav); in btrfsic_release_block_ctx()
1617 BUG_ON(!block_ctx->pagev); in btrfsic_release_block_ctx()
1618 num_pages = (block_ctx->len + (u64)PAGE_CACHE_SIZE - 1) >> in btrfsic_release_block_ctx()
1622 if (block_ctx->datav[num_pages]) { in btrfsic_release_block_ctx()
1623 kunmap(block_ctx->pagev[num_pages]); in btrfsic_release_block_ctx()
1624 block_ctx->datav[num_pages] = NULL; in btrfsic_release_block_ctx()
1626 if (block_ctx->pagev[num_pages]) { in btrfsic_release_block_ctx()
1627 __free_page(block_ctx->pagev[num_pages]); in btrfsic_release_block_ctx()
1628 block_ctx->pagev[num_pages] = NULL; in btrfsic_release_block_ctx()
1632 kfree(block_ctx->mem_to_free); in btrfsic_release_block_ctx()
1633 block_ctx->mem_to_free = NULL; in btrfsic_release_block_ctx()
1634 block_ctx->pagev = NULL; in btrfsic_release_block_ctx()
1635 block_ctx->datav = NULL; in btrfsic_release_block_ctx()
1640 struct btrfsic_block_data_ctx *block_ctx) in btrfsic_read_block() argument
1647 BUG_ON(block_ctx->datav); in btrfsic_read_block()
1648 BUG_ON(block_ctx->pagev); in btrfsic_read_block()
1649 BUG_ON(block_ctx->mem_to_free); in btrfsic_read_block()
1650 if (block_ctx->dev_bytenr & ((u64)PAGE_CACHE_SIZE - 1)) { in btrfsic_read_block()
1653 block_ctx->dev_bytenr); in btrfsic_read_block()
1657 num_pages = (block_ctx->len + (u64)PAGE_CACHE_SIZE - 1) >> in btrfsic_read_block()
1659 block_ctx->mem_to_free = kzalloc((sizeof(*block_ctx->datav) + in btrfsic_read_block()
1660 sizeof(*block_ctx->pagev)) * in btrfsic_read_block()
1662 if (!block_ctx->mem_to_free) in btrfsic_read_block()
1664 block_ctx->datav = block_ctx->mem_to_free; in btrfsic_read_block()
1665 block_ctx->pagev = (struct page **)(block_ctx->datav + num_pages); in btrfsic_read_block()
1667 block_ctx->pagev[i] = alloc_page(GFP_NOFS); in btrfsic_read_block()
1668 if (!block_ctx->pagev[i]) in btrfsic_read_block()
1672 dev_bytenr = block_ctx->dev_bytenr; in btrfsic_read_block()
1684 bio->bi_bdev = block_ctx->dev->bdev; in btrfsic_read_block()
1688 ret = bio_add_page(bio, block_ctx->pagev[j], in btrfsic_read_block()
1701 block_ctx->start, block_ctx->dev->name); in btrfsic_read_block()
1710 block_ctx->datav[i] = kmap(block_ctx->pagev[i]); in btrfsic_read_block()
1711 if (!block_ctx->datav[i]) { in btrfsic_read_block()
1713 block_ctx->dev->name); in btrfsic_read_block()
1718 return block_ctx->len; in btrfsic_read_block()
1827 struct btrfsic_block_data_ctx block_ctx; in btrfsic_process_written_block() local
1988 block_ctx.dev = dev_state; in btrfsic_process_written_block()
1989 block_ctx.dev_bytenr = dev_bytenr; in btrfsic_process_written_block()
1990 block_ctx.start = bytenr; in btrfsic_process_written_block()
1991 block_ctx.len = processed_len; in btrfsic_process_written_block()
1992 block_ctx.pagev = NULL; in btrfsic_process_written_block()
1993 block_ctx.mem_to_free = NULL; in btrfsic_process_written_block()
1994 block_ctx.datav = mapped_datav; in btrfsic_process_written_block()
2064 &block_ctx, in btrfsic_process_written_block()
2089 btrfsic_release_block_ctx(&block_ctx); in btrfsic_process_written_block()
2122 block_ctx.dev = dev_state; in btrfsic_process_written_block()
2123 block_ctx.dev_bytenr = dev_bytenr; in btrfsic_process_written_block()
2124 block_ctx.start = bytenr; in btrfsic_process_written_block()
2125 block_ctx.len = processed_len; in btrfsic_process_written_block()
2126 block_ctx.pagev = NULL; in btrfsic_process_written_block()
2127 block_ctx.mem_to_free = NULL; in btrfsic_process_written_block()
2128 block_ctx.datav = mapped_datav; in btrfsic_process_written_block()
2133 btrfsic_release_block_ctx(&block_ctx); in btrfsic_process_written_block()
2192 &block_ctx, 0, 0); in btrfsic_process_written_block()
2199 btrfsic_release_block_ctx(&block_ctx); in btrfsic_process_written_block()
2782 struct btrfsic_block_data_ctx *block_ctx, in btrfsic_block_lookup_or_add() argument
2792 block = btrfsic_block_hashtable_lookup(block_ctx->dev->bdev, in btrfsic_block_lookup_or_add()
2793 block_ctx->dev_bytenr, in btrfsic_block_lookup_or_add()
2803 dev_state = btrfsic_dev_state_lookup(block_ctx->dev->bdev); in btrfsic_block_lookup_or_add()
2811 block->dev_bytenr = block_ctx->dev_bytenr; in btrfsic_block_lookup_or_add()
2812 block->logical_bytenr = block_ctx->start; in btrfsic_block_lookup_or_add()
2844 struct btrfsic_block_data_ctx block_ctx; in btrfsic_cmp_log_and_dev_bytenr() local
2852 &block_ctx, mirror_num); in btrfsic_cmp_log_and_dev_bytenr()
2861 if (dev_state->bdev == block_ctx.dev->bdev && in btrfsic_cmp_log_and_dev_bytenr()
2862 dev_bytenr == block_ctx.dev_bytenr) { in btrfsic_cmp_log_and_dev_bytenr()
2864 btrfsic_release_block_ctx(&block_ctx); in btrfsic_cmp_log_and_dev_bytenr()
2867 btrfsic_release_block_ctx(&block_ctx); in btrfsic_cmp_log_and_dev_bytenr()
2878 &block_ctx, mirror_num); in btrfsic_cmp_log_and_dev_bytenr()
2884 bytenr, block_ctx.dev->name, in btrfsic_cmp_log_and_dev_bytenr()
2885 block_ctx.dev_bytenr, mirror_num); in btrfsic_cmp_log_and_dev_bytenr()