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 ordered_tree_search() argument
137 if (in_range(file_offset, entry->file_offset, entry->num_bytes)) in ordered_tree_search()
140 ret = __tree_search(&inode->ordered_tree, file_offset, &prev); in ordered_tree_search()
149 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, &qgroup_rsv); in alloc_ordered_extent()
168 ret = btrfs_qgroup_release_data(inode, file_offset, num_bytes, &qgroup_rsv); in alloc_ordered_extent()
176 entry->file_offset = file_offset; in alloc_ordered_extent()
225 node = tree_insert(&inode->ordered_tree, entry->file_offset, in insert_ordered_extent()
230 entry->file_offset); in insert_ordered_extent()
266 struct btrfs_inode *inode, u64 file_offset, in btrfs_alloc_ordered_extent() argument
286 entry = alloc_ordered_extent(inode, file_offset, in btrfs_alloc_ordered_extent()
293 entry = alloc_ordered_extent(inode, file_offset, in btrfs_alloc_ordered_extent()
335 struct folio *folio, u64 file_offset, in can_finish_ordered_extent() argument
345 ASSERT(folio_pos(folio) <= file_offset); in can_finish_ordered_extent()
346 ASSERT(file_offset + len <= folio_pos(folio) + folio_size(folio)); in can_finish_ordered_extent()
354 if (!btrfs_folio_test_ordered(fs_info, folio, file_offset, len)) in can_finish_ordered_extent()
356 btrfs_folio_clear_ordered(fs_info, folio, file_offset, len); in can_finish_ordered_extent()
364 ordered->file_offset, ordered->num_bytes, in can_finish_ordered_extent()
400 struct folio *folio, u64 file_offset, u64 len, in btrfs_finish_ordered_extent() argument
407 trace_btrfs_finish_ordered_extent(inode, file_offset, len, uptodate); in btrfs_finish_ordered_extent()
410 ret = can_finish_ordered_extent(ordered, folio, file_offset, len, in btrfs_finish_ordered_extent()
463 struct folio *folio, u64 file_offset, in btrfs_mark_ordered_io_finished() argument
469 u64 cur = file_offset; in btrfs_mark_ordered_io_finished()
471 trace_btrfs_writepage_end_io_hook(inode, file_offset, in btrfs_mark_ordered_io_finished()
472 file_offset + num_bytes - 1, in btrfs_mark_ordered_io_finished()
476 while (cur < file_offset + num_bytes) { in btrfs_mark_ordered_io_finished()
487 entry_end = entry->file_offset + entry->num_bytes; in btrfs_mark_ordered_io_finished()
502 cur = entry->file_offset; in btrfs_mark_ordered_io_finished()
510 if (cur < entry->file_offset) { in btrfs_mark_ordered_io_finished()
511 cur = entry->file_offset; in btrfs_mark_ordered_io_finished()
522 end = min(entry->file_offset + entry->num_bytes, in btrfs_mark_ordered_io_finished()
523 file_offset + num_bytes) - 1; in btrfs_mark_ordered_io_finished()
556 u64 file_offset, u64 io_size) in btrfs_dec_test_ordered_pending() argument
569 node = ordered_tree_search(inode, file_offset); in btrfs_dec_test_ordered_pending()
575 if (!in_range(file_offset, entry->file_offset, entry->num_bytes)) in btrfs_dec_test_ordered_pending()
850 u64 start = entry->file_offset; in btrfs_start_ordered_extent()
916 if (ordered->file_offset > orig_end) { in btrfs_wait_ordered_range()
920 if (ordered->file_offset + ordered->num_bytes <= start) { in btrfs_wait_ordered_range()
925 end = ordered->file_offset; in btrfs_wait_ordered_range()
946 u64 file_offset) in btrfs_lookup_ordered_extent() argument
953 node = ordered_tree_search(inode, file_offset); in btrfs_lookup_ordered_extent()
958 if (!in_range(file_offset, entry->file_offset, entry->num_bytes)) in btrfs_lookup_ordered_extent()
973 struct btrfs_inode *inode, u64 file_offset, u64 len) in btrfs_lookup_ordered_range() argument
979 node = ordered_tree_search(inode, file_offset); in btrfs_lookup_ordered_range()
981 node = ordered_tree_search(inode, file_offset + len); in btrfs_lookup_ordered_range()
988 if (range_overlaps(entry, file_offset, len)) in btrfs_lookup_ordered_range()
991 if (entry->file_offset >= file_offset + len) { in btrfs_lookup_ordered_range()
1042 btrfs_lookup_first_ordered_extent(struct btrfs_inode *inode, u64 file_offset) in btrfs_lookup_first_ordered_extent() argument
1048 node = ordered_tree_search(inode, file_offset); in btrfs_lookup_first_ordered_extent()
1070 struct btrfs_inode *inode, u64 file_offset, u64 len) in btrfs_lookup_first_ordered_range() argument
1089 if (file_offset < entry->file_offset) { in btrfs_lookup_first_ordered_range()
1091 } else if (file_offset >= entry_end(entry)) { in btrfs_lookup_first_ordered_range()
1108 if (entry->file_offset < file_offset) { in btrfs_lookup_first_ordered_range()
1117 if (range_overlaps(entry, file_offset, len)) in btrfs_lookup_first_ordered_range()
1122 if (range_overlaps(entry, file_offset, len)) in btrfs_lookup_first_ordered_range()
1214 u64 file_offset = ordered->file_offset; in btrfs_split_ordered_extent() local
1242 new = alloc_ordered_extent(inode, file_offset, len, len, disk_bytenr, in btrfs_split_ordered_extent()
1276 ordered->file_offset += len; in btrfs_split_ordered_extent()
1305 node = tree_insert(&inode->ordered_tree, new->file_offset, &new->rb_node); in btrfs_split_ordered_extent()
1309 new->file_offset); in btrfs_split_ordered_extent()