Lines Matching refs:file_offset

27 	if (entry->file_offset + entry->num_bytes < entry->file_offset)
29 return entry->file_offset + entry->num_bytes;
35 static struct rb_node *tree_insert(struct rb_root *root, u64 file_offset,
46 if (file_offset < entry->file_offset)
48 else if (file_offset >= entry_end(entry))
63 static struct rb_node *__tree_search(struct rb_root *root, u64 file_offset,
77 if (file_offset < entry->file_offset)
79 else if (file_offset >= entry_end(entry))
87 while (prev && file_offset >= entry_end(prev_entry)) {
93 if (file_offset < entry_end(prev_entry))
101 while (prev && file_offset < entry_end(prev_entry)) {
113 static int range_overlaps(struct btrfs_ordered_extent *entry, u64 file_offset,
116 if (file_offset + len <= entry->file_offset ||
117 entry->file_offset + entry->num_bytes <= file_offset)
127 u64 file_offset)
136 if (in_range(file_offset, entry->file_offset, entry->num_bytes))
139 ret = __tree_search(&inode->ordered_tree, file_offset, &prev);
148 struct btrfs_inode *inode, u64 file_offset, u64 num_bytes,
159 ret = btrfs_qgroup_free_data(inode, NULL, file_offset, num_bytes, &qgroup_rsv);
167 ret = btrfs_qgroup_release_data(inode, file_offset, num_bytes, &qgroup_rsv);
175 entry->file_offset = file_offset;
224 node = tree_insert(&inode->ordered_tree, entry->file_offset,
229 entry->file_offset);
249 * @file_offset: Logical offset in file where the extent starts.
265 struct btrfs_inode *inode, u64 file_offset,
274 entry = alloc_ordered_extent(inode, file_offset, num_bytes, ram_bytes,
306 struct page *page, u64 file_offset,
316 ASSERT(page_offset(page) <= file_offset);
317 ASSERT(file_offset + len <= page_offset(page) + PAGE_SIZE);
326 file_offset, len))
328 btrfs_folio_clear_ordered(fs_info, page_folio(page), file_offset, len);
336 ordered->file_offset, ordered->num_bytes,
372 struct page *page, u64 file_offset, u64 len,
379 trace_btrfs_finish_ordered_extent(inode, file_offset, len, uptodate);
382 ret = can_finish_ordered_extent(ordered, page, file_offset, len, uptodate);
404 struct page *page, u64 file_offset,
410 u64 cur = file_offset;
412 trace_btrfs_writepage_end_io_hook(inode, file_offset,
413 file_offset + num_bytes - 1,
417 while (cur < file_offset + num_bytes) {
428 entry_end = entry->file_offset + entry->num_bytes;
443 cur = entry->file_offset;
451 if (cur < entry->file_offset) {
452 cur = entry->file_offset;
463 end = min(entry->file_offset + entry->num_bytes,
464 file_offset + num_bytes) - 1;
485 * @file_offset: File offset for the finished IO
497 u64 file_offset, u64 io_size)
510 node = ordered_tree_search(inode, file_offset);
516 if (!in_range(file_offset, entry->file_offset, entry->num_bytes))
778 u64 start = entry->file_offset;
844 if (ordered->file_offset > orig_end) {
848 if (ordered->file_offset + ordered->num_bytes <= start) {
853 end = ordered->file_offset;
870 * find an ordered extent corresponding to file_offset. return NULL if
874 u64 file_offset)
881 node = ordered_tree_search(inode, file_offset);
886 if (!in_range(file_offset, entry->file_offset, entry->num_bytes))
901 struct btrfs_inode *inode, u64 file_offset, u64 len)
907 node = ordered_tree_search(inode, file_offset);
909 node = ordered_tree_search(inode, file_offset + len);
916 if (range_overlaps(entry, file_offset, len))
919 if (entry->file_offset >= file_offset + len) {
939 * file_offset of the ordered extents.
966 * lookup and return any extent before 'file_offset'. NULL is returned
970 btrfs_lookup_first_ordered_extent(struct btrfs_inode *inode, u64 file_offset)
976 node = ordered_tree_search(inode, file_offset);
990 * [@file_offset, @file_offset + @len).
998 struct btrfs_inode *inode, u64 file_offset, u64 len)
1017 if (file_offset < entry->file_offset) {
1019 } else if (file_offset >= entry_end(entry)) {
1024 * @file_offset
1035 /* We got an entry around @file_offset, check adjacent entries */
1036 if (entry->file_offset < file_offset) {
1045 if (range_overlaps(entry, file_offset, len))
1050 if (range_overlaps(entry, file_offset, len))
1142 u64 file_offset = ordered->file_offset;
1170 new = alloc_ordered_extent(inode, file_offset, len, len, disk_bytenr,
1187 ordered->file_offset += len;
1217 node = tree_insert(&inode->ordered_tree, ordered->file_offset,
1222 ordered->file_offset);
1224 node = tree_insert(&inode->ordered_tree, new->file_offset, &new->rb_node);
1228 new->file_offset);