• Home
  • Raw
  • Download

Lines Matching refs:block

227 	struct btrfsic_block *block;  member
291 struct btrfsic_block *block,
297 struct btrfsic_block *block,
308 struct btrfsic_block *block,
331 struct btrfsic_block *const block,
336 const struct btrfsic_block *block,
339 struct btrfsic_block *const block,
346 const struct btrfsic_block *block);
349 const struct btrfsic_block *block,
980 sf->block = first_block; in btrfsic_process_metablock()
987 sf->block->generation = le64_to_cpu(sf->hdr->generation); in btrfsic_process_metablock()
1034 sf->block, in btrfsic_process_metablock()
1064 next_stack->block = sf->next_block; in btrfsic_process_metablock()
1079 sf->block, in btrfsic_process_metablock()
1121 sf->block, in btrfsic_process_metablock()
1145 next_stack->block = sf->next_block; in btrfsic_process_metablock()
1186 struct btrfsic_block *block, in btrfsic_create_link_to_next_block() argument
1293 l->block_ref_from = block; in btrfsic_create_link_to_next_block()
1300 list_add(&l->node_ref_to, &block->ref_to_list); in btrfsic_create_link_to_next_block()
1337 struct btrfsic_block *block, in btrfsic_handle_extent_data() argument
1446 next_block, block, in btrfsic_handle_extent_data()
1650 struct btrfsic_block *block; in btrfsic_process_written_block() local
1661 block = btrfsic_block_hashtable_lookup(bdev, dev_bytenr, in btrfsic_process_written_block()
1663 if (NULL != block) { in btrfsic_process_written_block()
1668 if (block->is_superblock) { in btrfsic_process_written_block()
1676 btrfsic_dump_tree_sub(state, block, 0); in btrfsic_process_written_block()
1680 if (!block->is_superblock) { in btrfsic_process_written_block()
1688 if (block->logical_bytenr != bytenr) { in btrfsic_process_written_block()
1697 block->mirror_num, in btrfsic_process_written_block()
1698 btrfsic_get_block_type(state, block), in btrfsic_process_written_block()
1700 block->logical_bytenr); in btrfsic_process_written_block()
1701 block->logical_bytenr = bytenr; in btrfsic_process_written_block()
1710 block->mirror_num, in btrfsic_process_written_block()
1711 btrfsic_get_block_type(state, block)); in btrfsic_process_written_block()
1713 bytenr = block->logical_bytenr; in btrfsic_process_written_block()
1721 block->mirror_num, in btrfsic_process_written_block()
1722 btrfsic_get_block_type(state, block)); in btrfsic_process_written_block()
1728 list_empty(&block->ref_to_list) ? ' ' : '!', in btrfsic_process_written_block()
1729 list_empty(&block->ref_from_list) ? ' ' : '!'); in btrfsic_process_written_block()
1730 if (btrfsic_is_block_ref_by_superblock(state, block, 0)) { in btrfsic_process_written_block()
1737 btrfsic_get_block_type(state, block), in btrfsic_process_written_block()
1741 block->mirror_num, in btrfsic_process_written_block()
1742 (unsigned long long)block->generation, in btrfsic_process_written_block()
1744 le64_to_cpu(block->disk_key.objectid), in btrfsic_process_written_block()
1745 block->disk_key.type, in btrfsic_process_written_block()
1747 le64_to_cpu(block->disk_key.offset), in btrfsic_process_written_block()
1756 if (!block->is_iodone && !block->never_written) { in btrfsic_process_written_block()
1760 btrfsic_get_block_type(state, block), in btrfsic_process_written_block()
1764 block->mirror_num, in btrfsic_process_written_block()
1765 (unsigned long long)block->generation, in btrfsic_process_written_block()
1781 &block->ref_to_list) { in btrfsic_process_written_block()
1798 if (block->is_superblock) in btrfsic_process_written_block()
1817 block->never_written = 0; in btrfsic_process_written_block()
1818 block->iodone_w_error = 0; in btrfsic_process_written_block()
1820 block->is_iodone = 0; in btrfsic_process_written_block()
1823 block->orig_bio_bh_private = in btrfsic_process_written_block()
1825 block->orig_bio_bh_end_io.bio = in btrfsic_process_written_block()
1827 block->next_in_same_bio = NULL; in btrfsic_process_written_block()
1828 bio->bi_private = block; in btrfsic_process_written_block()
1837 block->orig_bio_bh_private = in btrfsic_process_written_block()
1839 block->orig_bio_bh_end_io.bio = in btrfsic_process_written_block()
1842 block->next_in_same_bio = chained_block; in btrfsic_process_written_block()
1843 bio->bi_private = block; in btrfsic_process_written_block()
1846 block->is_iodone = 0; in btrfsic_process_written_block()
1847 block->orig_bio_bh_private = bh->b_private; in btrfsic_process_written_block()
1848 block->orig_bio_bh_end_io.bh = bh->b_end_io; in btrfsic_process_written_block()
1849 block->next_in_same_bio = NULL; in btrfsic_process_written_block()
1850 bh->b_private = block; in btrfsic_process_written_block()
1853 block->is_iodone = 1; in btrfsic_process_written_block()
1854 block->orig_bio_bh_private = NULL; in btrfsic_process_written_block()
1855 block->orig_bio_bh_end_io.bio = NULL; in btrfsic_process_written_block()
1856 block->next_in_same_bio = NULL; in btrfsic_process_written_block()
1860 block->flush_gen = dev_state->last_flush_gen + 1; in btrfsic_process_written_block()
1861 block->submit_bio_bh_rw = submit_bio_bh_rw; in btrfsic_process_written_block()
1863 block->logical_bytenr = bytenr; in btrfsic_process_written_block()
1864 block->is_metadata = 1; in btrfsic_process_written_block()
1865 if (block->is_superblock) { in btrfsic_process_written_block()
1868 block, in btrfsic_process_written_block()
1875 btrfsic_dump_tree_sub(state, block, 0); in btrfsic_process_written_block()
1878 block->mirror_num = 0; /* unknown */ in btrfsic_process_written_block()
1881 block, in btrfsic_process_written_block()
1893 block->is_metadata = 0; in btrfsic_process_written_block()
1894 block->mirror_num = 0; /* unknown */ in btrfsic_process_written_block()
1895 block->generation = BTRFSIC_GENERATION_UNKNOWN; in btrfsic_process_written_block()
1897 && list_empty(&block->ref_from_list)) { in btrfsic_process_written_block()
1904 btrfsic_block_hashtable_remove(block); in btrfsic_process_written_block()
1905 list_del(&block->all_blocks_node); in btrfsic_process_written_block()
1906 btrfsic_block_free(block); in btrfsic_process_written_block()
1959 block = btrfsic_block_alloc(); in btrfsic_process_written_block()
1960 if (NULL == block) { in btrfsic_process_written_block()
1965 block->dev_state = dev_state; in btrfsic_process_written_block()
1966 block->dev_bytenr = dev_bytenr; in btrfsic_process_written_block()
1967 block->logical_bytenr = bytenr; in btrfsic_process_written_block()
1968 block->is_metadata = is_metadata; in btrfsic_process_written_block()
1969 block->never_written = 0; in btrfsic_process_written_block()
1970 block->iodone_w_error = 0; in btrfsic_process_written_block()
1971 block->mirror_num = 0; /* unknown */ in btrfsic_process_written_block()
1972 block->flush_gen = dev_state->last_flush_gen + 1; in btrfsic_process_written_block()
1973 block->submit_bio_bh_rw = submit_bio_bh_rw; in btrfsic_process_written_block()
1975 block->is_iodone = 0; in btrfsic_process_written_block()
1978 block->orig_bio_bh_private = bio->bi_private; in btrfsic_process_written_block()
1979 block->orig_bio_bh_end_io.bio = bio->bi_end_io; in btrfsic_process_written_block()
1980 block->next_in_same_bio = NULL; in btrfsic_process_written_block()
1981 bio->bi_private = block; in btrfsic_process_written_block()
1990 block->orig_bio_bh_private = in btrfsic_process_written_block()
1992 block->orig_bio_bh_end_io.bio = in btrfsic_process_written_block()
1994 block->next_in_same_bio = chained_block; in btrfsic_process_written_block()
1995 bio->bi_private = block; in btrfsic_process_written_block()
1998 block->is_iodone = 0; in btrfsic_process_written_block()
1999 block->orig_bio_bh_private = bh->b_private; in btrfsic_process_written_block()
2000 block->orig_bio_bh_end_io.bh = bh->b_end_io; in btrfsic_process_written_block()
2001 block->next_in_same_bio = NULL; in btrfsic_process_written_block()
2002 bh->b_private = block; in btrfsic_process_written_block()
2005 block->is_iodone = 1; in btrfsic_process_written_block()
2006 block->orig_bio_bh_private = NULL; in btrfsic_process_written_block()
2007 block->orig_bio_bh_end_io.bio = NULL; in btrfsic_process_written_block()
2008 block->next_in_same_bio = NULL; in btrfsic_process_written_block()
2014 (unsigned long long)block->logical_bytenr, in btrfsic_process_written_block()
2015 block->dev_state->name, in btrfsic_process_written_block()
2016 (unsigned long long)block->dev_bytenr, in btrfsic_process_written_block()
2017 block->mirror_num); in btrfsic_process_written_block()
2018 list_add(&block->all_blocks_node, &state->all_blocks_list); in btrfsic_process_written_block()
2019 btrfsic_block_hashtable_add(block, &state->block_hashtable); in btrfsic_process_written_block()
2022 ret = btrfsic_process_metablock(state, block, in btrfsic_process_written_block()
2038 struct btrfsic_block *block = (struct btrfsic_block *)bp->bi_private; in btrfsic_bio_end_io() local
2047 BUG_ON(NULL == block); in btrfsic_bio_end_io()
2048 bp->bi_private = block->orig_bio_bh_private; in btrfsic_bio_end_io()
2049 bp->bi_end_io = block->orig_bio_bh_end_io.bio; in btrfsic_bio_end_io()
2053 struct btrfsic_dev_state *const dev_state = block->dev_state; in btrfsic_bio_end_io()
2060 btrfsic_get_block_type(dev_state->state, block), in btrfsic_bio_end_io()
2061 (unsigned long long)block->logical_bytenr, in btrfsic_bio_end_io()
2063 (unsigned long long)block->dev_bytenr, in btrfsic_bio_end_io()
2064 block->mirror_num); in btrfsic_bio_end_io()
2065 next_block = block->next_in_same_bio; in btrfsic_bio_end_io()
2066 block->iodone_w_error = iodone_w_error; in btrfsic_bio_end_io()
2067 if (block->submit_bio_bh_rw & REQ_FLUSH) { in btrfsic_bio_end_io()
2077 if (block->submit_bio_bh_rw & REQ_FUA) in btrfsic_bio_end_io()
2078 block->flush_gen = 0; /* FUA completed means block is in btrfsic_bio_end_io()
2080 block->is_iodone = 1; /* for FLUSH, this releases the block */ in btrfsic_bio_end_io()
2081 block = next_block; in btrfsic_bio_end_io()
2082 } while (NULL != block); in btrfsic_bio_end_io()
2089 struct btrfsic_block *block = (struct btrfsic_block *)bh->b_private; in btrfsic_bh_end_io() local
2093 BUG_ON(NULL == block); in btrfsic_bh_end_io()
2094 dev_state = block->dev_state; in btrfsic_bh_end_io()
2099 btrfsic_get_block_type(dev_state->state, block), in btrfsic_bh_end_io()
2100 (unsigned long long)block->logical_bytenr, in btrfsic_bh_end_io()
2101 block->dev_state->name, in btrfsic_bh_end_io()
2102 (unsigned long long)block->dev_bytenr, in btrfsic_bh_end_io()
2103 block->mirror_num); in btrfsic_bh_end_io()
2105 block->iodone_w_error = iodone_w_error; in btrfsic_bh_end_io()
2106 if (block->submit_bio_bh_rw & REQ_FLUSH) { in btrfsic_bh_end_io()
2115 if (block->submit_bio_bh_rw & REQ_FUA) in btrfsic_bh_end_io()
2116 block->flush_gen = 0; /* FUA completed means block is on disk */ in btrfsic_bh_end_io()
2118 bh->b_private = block->orig_bio_bh_private; in btrfsic_bh_end_io()
2119 bh->b_end_io = block->orig_bio_bh_end_io.bh; in btrfsic_bh_end_io()
2120 block->is_iodone = 1; /* for FLUSH, this releases the block */ in btrfsic_bh_end_io()
2278 struct btrfsic_block *const block, in btrfsic_check_all_ref_blocks() argument
2309 list_for_each(elem_ref_to, &block->ref_to_list) { in btrfsic_check_all_ref_blocks()
2319 btrfsic_get_block_type(state, block), in btrfsic_check_all_ref_blocks()
2320 (unsigned long long)block->logical_bytenr, in btrfsic_check_all_ref_blocks()
2321 block->dev_state->name, in btrfsic_check_all_ref_blocks()
2322 (unsigned long long)block->dev_bytenr, in btrfsic_check_all_ref_blocks()
2323 block->mirror_num, in btrfsic_check_all_ref_blocks()
2385 (unsigned long long)block->flush_gen, in btrfsic_check_all_ref_blocks()
2402 const struct btrfsic_block *block, in btrfsic_is_block_ref_by_superblock() argument
2420 list_for_each(elem_ref_from, &block->ref_from_list) { in btrfsic_is_block_ref_by_superblock()
2430 btrfsic_get_block_type(state, block), in btrfsic_is_block_ref_by_superblock()
2431 (unsigned long long)block->logical_bytenr, in btrfsic_is_block_ref_by_superblock()
2432 block->dev_state->name, in btrfsic_is_block_ref_by_superblock()
2433 (unsigned long long)block->dev_bytenr, in btrfsic_is_block_ref_by_superblock()
2434 block->mirror_num, in btrfsic_is_block_ref_by_superblock()
2498 const struct btrfsic_block *block) in btrfsic_get_block_type() argument
2500 if (block->is_superblock && in btrfsic_get_block_type()
2501 state->latest_superblock->dev_bytenr == block->dev_bytenr && in btrfsic_get_block_type()
2502 state->latest_superblock->dev_state->bdev == block->dev_state->bdev) in btrfsic_get_block_type()
2504 else if (block->is_superblock) in btrfsic_get_block_type()
2506 else if (block->is_metadata) in btrfsic_get_block_type()
2518 const struct btrfsic_block *block, in btrfsic_dump_tree_sub() argument
2536 btrfsic_get_block_type(state, block), in btrfsic_dump_tree_sub()
2537 (unsigned long long)block->logical_bytenr, in btrfsic_dump_tree_sub()
2538 block->dev_state->name, in btrfsic_dump_tree_sub()
2539 (unsigned long long)block->dev_bytenr, in btrfsic_dump_tree_sub()
2540 block->mirror_num); in btrfsic_dump_tree_sub()
2547 if (list_empty(&block->ref_to_list)) { in btrfsic_dump_tree_sub()
2551 if (block->mirror_num > 1 && in btrfsic_dump_tree_sub()
2558 list_for_each(elem_ref_to, &block->ref_to_list) { in btrfsic_dump_tree_sub()
2641 struct btrfsic_block *block; in btrfsic_block_lookup_or_add() local
2643 block = btrfsic_block_hashtable_lookup(block_ctx->dev->bdev, in btrfsic_block_lookup_or_add()
2646 if (NULL == block) { in btrfsic_block_lookup_or_add()
2649 block = btrfsic_block_alloc(); in btrfsic_block_lookup_or_add()
2650 if (NULL == block) { in btrfsic_block_lookup_or_add()
2658 btrfsic_block_free(block); in btrfsic_block_lookup_or_add()
2661 block->dev_state = dev_state; in btrfsic_block_lookup_or_add()
2662 block->dev_bytenr = block_ctx->dev_bytenr; in btrfsic_block_lookup_or_add()
2663 block->logical_bytenr = block_ctx->start; in btrfsic_block_lookup_or_add()
2664 block->is_metadata = is_metadata; in btrfsic_block_lookup_or_add()
2665 block->is_iodone = is_iodone; in btrfsic_block_lookup_or_add()
2666 block->never_written = never_written; in btrfsic_block_lookup_or_add()
2667 block->mirror_num = mirror_num; in btrfsic_block_lookup_or_add()
2672 btrfsic_get_block_type(state, block), in btrfsic_block_lookup_or_add()
2673 (unsigned long long)block->logical_bytenr, in btrfsic_block_lookup_or_add()
2675 (unsigned long long)block->dev_bytenr, in btrfsic_block_lookup_or_add()
2677 list_add(&block->all_blocks_node, &state->all_blocks_list); in btrfsic_block_lookup_or_add()
2678 btrfsic_block_hashtable_add(block, &state->block_hashtable); in btrfsic_block_lookup_or_add()
2686 return block; in btrfsic_block_lookup_or_add()
2802 struct btrfsic_block *const block = in btrfsic_submit_bh() local
2805 block->is_iodone = 0; in btrfsic_submit_bh()
2806 block->never_written = 0; in btrfsic_submit_bh()
2807 block->iodone_w_error = 0; in btrfsic_submit_bh()
2808 block->flush_gen = dev_state->last_flush_gen + 1; in btrfsic_submit_bh()
2809 block->submit_bio_bh_rw = rw; in btrfsic_submit_bh()
2810 block->orig_bio_bh_private = bh->b_private; in btrfsic_submit_bh()
2811 block->orig_bio_bh_end_io.bh = bh->b_end_io; in btrfsic_submit_bh()
2812 block->next_in_same_bio = NULL; in btrfsic_submit_bh()
2813 bh->b_private = block; in btrfsic_submit_bh()
2891 struct btrfsic_block *const block = in btrfsic_submit_bio() local
2894 block->is_iodone = 0; in btrfsic_submit_bio()
2895 block->never_written = 0; in btrfsic_submit_bio()
2896 block->iodone_w_error = 0; in btrfsic_submit_bio()
2897 block->flush_gen = dev_state->last_flush_gen + 1; in btrfsic_submit_bio()
2898 block->submit_bio_bh_rw = rw; in btrfsic_submit_bio()
2899 block->orig_bio_bh_private = bio->bi_private; in btrfsic_submit_bio()
2900 block->orig_bio_bh_end_io.bio = bio->bi_end_io; in btrfsic_submit_bio()
2901 block->next_in_same_bio = NULL; in btrfsic_submit_bio()
2902 bio->bi_private = block; in btrfsic_submit_bio()