Lines Matching refs:start
88 static int btrfs_finish_ordered_io(struct inode *inode, u64 start, u64 end);
91 u64 start, u64 end, int *page_started,
111 u64 start, size_t size, size_t compressed_size, in insert_inline_extent() argument
140 key.offset = start; in insert_inline_extent()
182 start >> PAGE_CACHE_SHIFT); in insert_inline_extent()
185 offset = start & (PAGE_CACHE_SIZE - 1); in insert_inline_extent()
209 struct inode *inode, u64 start, u64 end, in cow_file_range_inline() argument
215 u64 inline_len = actual_end - start; in cow_file_range_inline()
225 if (start > 0 || in cow_file_range_inline()
235 ret = btrfs_drop_extents(trans, root, inode, start, in cow_file_range_inline()
236 aligned_end, start, &hint_byte); in cow_file_range_inline()
241 ret = insert_inline_extent(trans, root, inode, start, in cow_file_range_inline()
245 btrfs_drop_extent_cache(inode, start, aligned_end, 0); in cow_file_range_inline()
250 u64 start; member
262 u64 start; member
269 u64 start, u64 ram_size, in add_async_extent() argument
277 async_extent->start = start; in add_async_extent()
304 u64 start, u64 end, in compress_file_range() argument
327 orig_start = start; in compress_file_range()
332 nr_pages = (end >> PAGE_CACHE_SHIFT) - (start >> PAGE_CACHE_SHIFT) + 1; in compress_file_range()
345 if (actual_end <= start) in compress_file_range()
348 total_compressed = actual_end - start; in compress_file_range()
361 num_bytes = (end - start + blocksize) & ~(blocksize - 1); in compress_file_range()
377 ret = btrfs_zlib_compress_pages(inode->i_mapping, start, in compress_file_range()
402 if (start == 0) { in compress_file_range()
408 if (ret || total_in < (actual_end - start)) { in compress_file_range()
413 start, end, 0, NULL); in compress_file_range()
417 start, end, in compress_file_range()
429 start, end, NULL, 1, 0, in compress_file_range()
482 add_async_extent(async_cow, start, num_bytes, in compress_file_range()
485 if (start + num_bytes < end && start + num_bytes < actual_end) { in compress_file_range()
486 start += num_bytes; in compress_file_range()
500 if (page_offset(locked_page) >= start && in compress_file_range()
505 add_async_extent(async_cow, start, end - start + 1, 0, NULL, 0); in compress_file_range()
558 lock_extent(io_tree, async_extent->start, in submit_compressed_extents()
559 async_extent->start + in submit_compressed_extents()
564 async_extent->start, in submit_compressed_extents()
565 async_extent->start + in submit_compressed_extents()
577 inode, async_extent->start, in submit_compressed_extents()
578 async_extent->start + in submit_compressed_extents()
587 lock_extent(io_tree, async_extent->start, in submit_compressed_extents()
588 async_extent->start + async_extent->ram_size - 1, in submit_compressed_extents()
594 btrfs_drop_extent_cache(inode, async_extent->start, in submit_compressed_extents()
595 async_extent->start + in submit_compressed_extents()
605 em->start = async_extent->start; in submit_compressed_extents()
607 em->orig_start = em->start; in submit_compressed_extents()
623 btrfs_drop_extent_cache(inode, async_extent->start, in submit_compressed_extents()
624 async_extent->start + in submit_compressed_extents()
628 ret = btrfs_add_ordered_extent(inode, async_extent->start, in submit_compressed_extents()
642 async_extent->start, in submit_compressed_extents()
643 async_extent->start + in submit_compressed_extents()
648 async_extent->start, in submit_compressed_extents()
680 u64 start, u64 end, int *page_started, in cow_file_range() argument
705 num_bytes = (end - start + blocksize) & ~(blocksize - 1); in cow_file_range()
710 if (start == 0) { in cow_file_range()
713 start, end, 0, NULL); in cow_file_range()
717 start, end, NULL, 1, 1, in cow_file_range()
720 (end - start + PAGE_CACHE_SIZE) / PAGE_CACHE_SIZE; in cow_file_range()
730 btrfs_drop_extent_cache(inode, start, start + num_bytes - 1, 0); in cow_file_range()
740 em->start = start; in cow_file_range()
741 em->orig_start = em->start; in cow_file_range()
759 btrfs_drop_extent_cache(inode, start, in cow_file_range()
760 start + ram_size - 1, 0); in cow_file_range()
764 ret = btrfs_add_ordered_extent(inode, start, ins.objectid, in cow_file_range()
770 ret = btrfs_reloc_clone_csums(inode, start, in cow_file_range()
783 start, start + ram_size - 1, in cow_file_range()
789 start += cur_alloc_size; in cow_file_range()
808 async_cow->start, async_cow->end, async_cow, in async_cow_start()
826 nr_pages = (async_cow->end - async_cow->start + PAGE_CACHE_SIZE) >> in async_cow_submit()
848 u64 start, u64 end, int *page_started, in cow_file_range_async() argument
858 return cow_file_range(inode, locked_page, start, end, in cow_file_range_async()
862 clear_extent_bit(&BTRFS_I(inode)->io_tree, start, end, EXTENT_LOCKED | in cow_file_range_async()
864 while (start < end) { in cow_file_range_async()
869 async_cow->start = start; in cow_file_range_async()
874 cur_end = min(end, start + 512 * 1024 - 1); in cow_file_range_async()
884 nr_pages = (cur_end - start + PAGE_CACHE_SIZE) >> in cow_file_range_async()
905 start = cur_end + 1; in cow_file_range_async()
939 u64 start, u64 end, int *page_started, int force, in run_delalloc_nocow() argument
965 cur_offset = start; in run_delalloc_nocow()
1014 if (extent_end <= start) { in run_delalloc_nocow()
1050 if (extent_end <= start) { in run_delalloc_nocow()
1078 em->start = cur_offset; in run_delalloc_nocow()
1079 em->orig_start = em->start; in run_delalloc_nocow()
1093 btrfs_drop_extent_cache(inode, em->start, in run_delalloc_nocow()
1094 em->start + em->len - 1, 0); in run_delalloc_nocow()
1132 u64 start, u64 end, int *page_started, in run_delalloc_range() argument
1138 ret = run_delalloc_nocow(inode, locked_page, start, end, in run_delalloc_range()
1141 ret = run_delalloc_nocow(inode, locked_page, start, end, in run_delalloc_range()
1144 ret = cow_file_range_async(inode, locked_page, start, end, in run_delalloc_range()
1155 static int btrfs_set_bit_hook(struct inode *inode, u64 start, u64 end, in btrfs_set_bit_hook() argument
1165 btrfs_delalloc_reserve_space(root, inode, end - start + 1); in btrfs_set_bit_hook()
1167 BTRFS_I(inode)->delalloc_bytes += end - start + 1; in btrfs_set_bit_hook()
1168 root->fs_info->delalloc_bytes += end - start + 1; in btrfs_set_bit_hook()
1181 static int btrfs_clear_bit_hook(struct inode *inode, u64 start, u64 end, in btrfs_clear_bit_hook() argument
1193 if (end - start + 1 > root->fs_info->delalloc_bytes) { in btrfs_clear_bit_hook()
1196 (unsigned long long)end - start + 1, in btrfs_clear_bit_hook()
1204 end - start + 1); in btrfs_clear_bit_hook()
1205 root->fs_info->delalloc_bytes -= end - start + 1; in btrfs_clear_bit_hook()
1206 BTRFS_I(inode)->delalloc_bytes -= end - start + 1; in btrfs_clear_bit_hook()
1338 int btrfs_set_extent_delalloc(struct inode *inode, u64 start, u64 end) in btrfs_set_extent_delalloc() argument
1342 return set_extent_delalloc(&BTRFS_I(inode)->io_tree, start, end, in btrfs_set_extent_delalloc()
1411 static int btrfs_writepage_start_hook(struct page *page, u64 start, u64 end) in btrfs_writepage_start_hook() argument
1418 ret = test_range_bit(&BTRFS_I(inode)->io_tree, start, end, in btrfs_writepage_start_hook()
1486 ret = btrfs_alloc_reserved_extent(trans, root, leaf->start, in insert_reserved_file_extent()
1499 static int btrfs_finish_ordered_io(struct inode *inode, u64 start, u64 end) in btrfs_finish_ordered_io() argument
1508 ret = btrfs_dec_test_ordered_pending(inode, start, end - start + 1); in btrfs_finish_ordered_io()
1514 ordered_extent = btrfs_lookup_ordered_extent(inode, start); in btrfs_finish_ordered_io()
1535 ordered_extent->start, in btrfs_finish_ordered_io()
1565 static int btrfs_writepage_end_io_hook(struct page *page, u64 start, u64 end, in btrfs_writepage_end_io_hook() argument
1568 return btrfs_finish_ordered_io(page->mapping->host, start, end); in btrfs_writepage_end_io_hook()
1581 u64 start; member
1589 struct page *page, u64 start, u64 end, in btrfs_io_failed_hook() argument
1604 ret = get_state_private(failure_tree, start, &private); in btrfs_io_failed_hook()
1609 failrec->start = start; in btrfs_io_failed_hook()
1610 failrec->len = end - start + 1; in btrfs_io_failed_hook()
1615 em = lookup_extent_mapping(em_tree, start, failrec->len); in btrfs_io_failed_hook()
1616 if (em->start > start || em->start + em->len < start) { in btrfs_io_failed_hook()
1626 logical = start - em->start; in btrfs_io_failed_hook()
1634 set_extent_bits(failure_tree, start, end, EXTENT_LOCKED | in btrfs_io_failed_hook()
1636 set_state_private(failure_tree, start, in btrfs_io_failed_hook()
1648 failrec->start, in btrfs_io_failed_hook()
1650 if (state && state->start != failrec->start) in btrfs_io_failed_hook()
1655 set_state_private(failure_tree, failrec->start, 0); in btrfs_io_failed_hook()
1656 clear_extent_bits(failure_tree, failrec->start, in btrfs_io_failed_hook()
1657 failrec->start + failrec->len - 1, in btrfs_io_failed_hook()
1669 bio_add_page(bio, page, failrec->len, start - page_offset(page)); in btrfs_io_failed_hook()
1685 static int btrfs_clean_io_failures(struct inode *inode, u64 start) in btrfs_clean_io_failures() argument
1696 start, &private_failure); in btrfs_clean_io_failures()
1701 failure->start, 0); in btrfs_clean_io_failures()
1703 failure->start, in btrfs_clean_io_failures()
1704 failure->start + failure->len - 1, in btrfs_clean_io_failures()
1718 static int btrfs_readpage_end_io_hook(struct page *page, u64 start, u64 end, in btrfs_readpage_end_io_hook() argument
1721 size_t offset = start - ((u64)page->index << PAGE_CACHE_SHIFT); in btrfs_readpage_end_io_hook()
1738 test_range_bit(io_tree, start, end, EXTENT_NODATASUM, 1)) { in btrfs_readpage_end_io_hook()
1739 clear_extent_bits(io_tree, start, end, EXTENT_NODATASUM, in btrfs_readpage_end_io_hook()
1744 if (state && state->start == start) { in btrfs_readpage_end_io_hook()
1748 ret = get_state_private(io_tree, start, &private); in btrfs_readpage_end_io_hook()
1754 csum = btrfs_csum_data(root, kaddr + offset, csum, end - start + 1); in btrfs_readpage_end_io_hook()
1764 btrfs_clean_io_failures(inode, start); in btrfs_readpage_end_io_hook()
1770 (unsigned long long)start, csum, in btrfs_readpage_end_io_hook()
1772 memset(kaddr + offset, 1, end - start + 1); in btrfs_readpage_end_io_hook()
2649 leaf->start, root_owner, in btrfs_truncate_inode_items()
3828 BUG_ON(map_start < em->start || map_start >= extent_map_end(em)); in merge_extent_mapping()
3829 start_diff = map_start - em->start; in merge_extent_mapping()
3830 em->start = map_start; in merge_extent_mapping()
3886 size_t pg_offset, u64 start, u64 len, in btrfs_get_extent() argument
3909 em = lookup_extent_mapping(em_tree, start, len); in btrfs_get_extent()
3915 if (em->start > start || em->start + em->len <= start) in btrfs_get_extent()
3928 em->start = EXTENT_MAP_HOLE; in btrfs_get_extent()
3939 objectid, start, trans != NULL); in btrfs_get_extent()
3976 if (start >= extent_end) { in btrfs_get_extent()
3992 if (start + len <= found_key.offset) in btrfs_get_extent()
3994 em->start = start; in btrfs_get_extent()
3995 em->len = found_key.offset - start; in btrfs_get_extent()
4001 em->start = extent_start; in btrfs_get_extent()
4032 em->start = extent_start; in btrfs_get_extent()
4041 em->start = extent_start + extent_offset; in btrfs_get_extent()
4077 set_extent_uptodate(io_tree, em->start, in btrfs_get_extent()
4085 em->start = start; in btrfs_get_extent()
4092 if (em->start > start || extent_map_end(em) <= start) { in btrfs_get_extent()
4094 "[%llu %llu]\n", (unsigned long long)em->start, in btrfs_get_extent()
4096 (unsigned long long)start, in btrfs_get_extent()
4114 existing = lookup_extent_mapping(em_tree, start, len); in btrfs_get_extent()
4115 if (existing && (existing->start > start || in btrfs_get_extent()
4116 existing->start + existing->len <= start)) { in btrfs_get_extent()
4121 existing = lookup_extent_mapping(em_tree, em->start, in btrfs_get_extent()
4125 em, start, in btrfs_get_extent()
4168 __u64 start, __u64 len) in btrfs_fiemap() argument
4170 return extent_fiemap(inode, fieinfo, start, len, btrfs_get_extent); in btrfs_fiemap()
4816 static int prealloc_file_range(struct inode *inode, u64 start, u64 end, in prealloc_file_range() argument
4823 u64 cur_offset = start; in prealloc_file_range()
4824 u64 num_bytes = end - start; in prealloc_file_range()
4851 if (cur_offset > start) { in prealloc_file_range()