Lines Matching refs:file_offset
28 if (entry->file_offset + entry->num_bytes < entry->file_offset) in entry_end()
30 return entry->file_offset + entry->num_bytes; in entry_end()
36 static struct rb_node *tree_insert(struct rb_root *root, u64 file_offset, in tree_insert() argument
47 if (file_offset < entry->file_offset) in tree_insert()
49 else if (file_offset >= entry_end(entry)) in tree_insert()
64 static struct rb_node *__tree_search(struct rb_root *root, u64 file_offset, in __tree_search() argument
78 if (file_offset < entry->file_offset) in __tree_search()
80 else if (file_offset >= entry_end(entry)) in __tree_search()
88 while (prev && file_offset >= entry_end(prev_entry)) { in __tree_search()
94 if (file_offset < entry_end(prev_entry)) in __tree_search()
102 while (prev && file_offset < entry_end(prev_entry)) { in __tree_search()
114 static int range_overlaps(struct btrfs_ordered_extent *entry, u64 file_offset, in range_overlaps() argument
117 if (file_offset + len <= entry->file_offset || in range_overlaps()
118 entry->file_offset + entry->num_bytes <= file_offset) in range_overlaps()
128 u64 file_offset) in tree_search() argument
138 if (in_range(file_offset, entry->file_offset, entry->num_bytes)) in tree_search()
141 ret = __tree_search(root, file_offset, &prev); in tree_search()
150 struct btrfs_inode *inode, u64 file_offset, u64 num_bytes, in alloc_ordered_extent() argument
160 ret = btrfs_qgroup_free_data(inode, NULL, file_offset, num_bytes); in alloc_ordered_extent()
168 ret = btrfs_qgroup_release_data(inode, file_offset, num_bytes); in alloc_ordered_extent()
176 entry->file_offset = file_offset; in alloc_ordered_extent()
225 node = tree_insert(&tree->tree, entry->file_offset, &entry->rb_node); in insert_ordered_extent()
229 entry->file_offset); in insert_ordered_extent()
265 struct btrfs_inode *inode, u64 file_offset, in btrfs_alloc_ordered_extent() argument
274 entry = alloc_ordered_extent(inode, file_offset, num_bytes, ram_bytes, in btrfs_alloc_ordered_extent()
307 struct page *page, u64 file_offset, in can_finish_ordered_extent() argument
317 ASSERT(page_offset(page) <= file_offset); in can_finish_ordered_extent()
318 ASSERT(file_offset + len <= page_offset(page) + PAGE_SIZE); in can_finish_ordered_extent()
326 if (!btrfs_page_test_ordered(fs_info, page, file_offset, len)) in can_finish_ordered_extent()
328 btrfs_page_clear_ordered(fs_info, page, file_offset, len); in can_finish_ordered_extent()
336 ordered->file_offset, ordered->num_bytes, in can_finish_ordered_extent()
372 struct page *page, u64 file_offset, u64 len, in btrfs_finish_ordered_extent() argument
379 trace_btrfs_finish_ordered_extent(inode, file_offset, len, uptodate); in btrfs_finish_ordered_extent()
382 ret = can_finish_ordered_extent(ordered, page, file_offset, len, uptodate); in btrfs_finish_ordered_extent()
404 struct page *page, u64 file_offset, in btrfs_mark_ordered_io_finished() argument
411 u64 cur = file_offset; in btrfs_mark_ordered_io_finished()
413 trace_btrfs_writepage_end_io_hook(inode, file_offset, in btrfs_mark_ordered_io_finished()
414 file_offset + num_bytes - 1, in btrfs_mark_ordered_io_finished()
418 while (cur < file_offset + num_bytes) { in btrfs_mark_ordered_io_finished()
429 entry_end = entry->file_offset + entry->num_bytes; in btrfs_mark_ordered_io_finished()
444 cur = entry->file_offset; in btrfs_mark_ordered_io_finished()
452 if (cur < entry->file_offset) { in btrfs_mark_ordered_io_finished()
453 cur = entry->file_offset; in btrfs_mark_ordered_io_finished()
464 end = min(entry->file_offset + entry->num_bytes, in btrfs_mark_ordered_io_finished()
465 file_offset + num_bytes) - 1; in btrfs_mark_ordered_io_finished()
498 u64 file_offset, u64 io_size) in btrfs_dec_test_ordered_pending() argument
512 node = tree_search(tree, file_offset); in btrfs_dec_test_ordered_pending()
518 if (!in_range(file_offset, entry->file_offset, entry->num_bytes)) in btrfs_dec_test_ordered_pending()
780 u64 start = entry->file_offset; in btrfs_start_ordered_extent()
846 if (ordered->file_offset > orig_end) { in btrfs_wait_ordered_range()
850 if (ordered->file_offset + ordered->num_bytes <= start) { in btrfs_wait_ordered_range()
855 end = ordered->file_offset; in btrfs_wait_ordered_range()
876 u64 file_offset) in btrfs_lookup_ordered_extent() argument
885 node = tree_search(tree, file_offset); in btrfs_lookup_ordered_extent()
890 if (!in_range(file_offset, entry->file_offset, entry->num_bytes)) in btrfs_lookup_ordered_extent()
905 struct btrfs_inode *inode, u64 file_offset, u64 len) in btrfs_lookup_ordered_range() argument
913 node = tree_search(tree, file_offset); in btrfs_lookup_ordered_range()
915 node = tree_search(tree, file_offset + len); in btrfs_lookup_ordered_range()
922 if (range_overlaps(entry, file_offset, len)) in btrfs_lookup_ordered_range()
925 if (entry->file_offset >= file_offset + len) { in btrfs_lookup_ordered_range()
977 btrfs_lookup_first_ordered_extent(struct btrfs_inode *inode, u64 file_offset) in btrfs_lookup_first_ordered_extent() argument
985 node = tree_search(tree, file_offset); in btrfs_lookup_first_ordered_extent()
1007 struct btrfs_inode *inode, u64 file_offset, u64 len) in btrfs_lookup_first_ordered_range() argument
1027 if (file_offset < entry->file_offset) { in btrfs_lookup_first_ordered_range()
1029 } else if (file_offset >= entry_end(entry)) { in btrfs_lookup_first_ordered_range()
1046 if (entry->file_offset < file_offset) { in btrfs_lookup_first_ordered_range()
1055 if (range_overlaps(entry, file_offset, len)) in btrfs_lookup_first_ordered_range()
1060 if (range_overlaps(entry, file_offset, len)) in btrfs_lookup_first_ordered_range()
1153 u64 file_offset = ordered->file_offset; in btrfs_split_ordered_extent() local
1181 new = alloc_ordered_extent(inode, file_offset, len, len, disk_bytenr, in btrfs_split_ordered_extent()
1198 ordered->file_offset += len; in btrfs_split_ordered_extent()
1227 node = tree_insert(&tree->tree, ordered->file_offset, &ordered->rb_node); in btrfs_split_ordered_extent()
1231 ordered->file_offset); in btrfs_split_ordered_extent()
1233 node = tree_insert(&tree->tree, new->file_offset, &new->rb_node); in btrfs_split_ordered_extent()
1237 new->file_offset); in btrfs_split_ordered_extent()