Lines Matching refs:file_offset
24 if (entry->file_offset + entry->num_bytes < entry->file_offset) in entry_end()
26 return entry->file_offset + entry->num_bytes; in entry_end()
32 static struct rb_node *tree_insert(struct rb_root *root, u64 file_offset, in tree_insert() argument
43 if (file_offset < entry->file_offset) in tree_insert()
45 else if (file_offset >= entry_end(entry)) in tree_insert()
60 static struct rb_node *__tree_search(struct rb_root *root, u64 file_offset, in __tree_search() argument
74 if (file_offset < entry->file_offset) in __tree_search()
76 else if (file_offset >= entry_end(entry)) in __tree_search()
84 while (prev && file_offset >= entry_end(prev_entry)) { in __tree_search()
90 if (file_offset < entry_end(prev_entry)) in __tree_search()
98 while (prev && file_offset < entry_end(prev_entry)) { in __tree_search()
113 static int offset_in_entry(struct btrfs_ordered_extent *entry, u64 file_offset) in offset_in_entry() argument
115 if (file_offset < entry->file_offset || in offset_in_entry()
116 entry->file_offset + entry->num_bytes <= file_offset) in offset_in_entry()
121 static int range_overlaps(struct btrfs_ordered_extent *entry, u64 file_offset, in range_overlaps() argument
124 if (file_offset + len <= entry->file_offset || in range_overlaps()
125 entry->file_offset + entry->num_bytes <= file_offset) in range_overlaps()
135 u64 file_offset) in tree_search() argument
145 if (offset_in_entry(entry, file_offset)) in tree_search()
148 ret = __tree_search(root, file_offset, &prev); in tree_search()
162 static int __btrfs_add_ordered_extent(struct btrfs_inode *inode, u64 file_offset, in __btrfs_add_ordered_extent() argument
176 ret = btrfs_qgroup_free_data(inode, NULL, file_offset, num_bytes); in __btrfs_add_ordered_extent()
185 ret = btrfs_qgroup_release_data(inode, file_offset, num_bytes); in __btrfs_add_ordered_extent()
193 entry->file_offset = file_offset; in __btrfs_add_ordered_extent()
223 node = tree_insert(&tree->tree, file_offset, in __btrfs_add_ordered_extent()
228 file_offset); in __btrfs_add_ordered_extent()
255 int btrfs_add_ordered_extent(struct btrfs_inode *inode, u64 file_offset, in btrfs_add_ordered_extent() argument
259 return __btrfs_add_ordered_extent(inode, file_offset, disk_bytenr, in btrfs_add_ordered_extent()
264 int btrfs_add_ordered_extent_dio(struct btrfs_inode *inode, u64 file_offset, in btrfs_add_ordered_extent_dio() argument
268 return __btrfs_add_ordered_extent(inode, file_offset, disk_bytenr, in btrfs_add_ordered_extent_dio()
273 int btrfs_add_ordered_extent_compress(struct btrfs_inode *inode, u64 file_offset, in btrfs_add_ordered_extent_compress() argument
278 return __btrfs_add_ordered_extent(inode, file_offset, disk_bytenr, in btrfs_add_ordered_extent_compress()
313 u64 *file_offset, u64 io_size, int uptodate) in btrfs_dec_test_first_ordered_pending() argument
326 node = tree_search(tree, *file_offset); in btrfs_dec_test_first_ordered_pending()
333 if (!offset_in_entry(entry, *file_offset)) { in btrfs_dec_test_first_ordered_pending()
338 dec_start = max(*file_offset, entry->file_offset); in btrfs_dec_test_first_ordered_pending()
339 dec_end = min(*file_offset + io_size, in btrfs_dec_test_first_ordered_pending()
340 entry->file_offset + entry->num_bytes); in btrfs_dec_test_first_ordered_pending()
341 *file_offset = dec_end; in btrfs_dec_test_first_ordered_pending()
383 u64 file_offset, u64 io_size, int uptodate) in btrfs_dec_test_ordered_pending() argument
397 node = tree_search(tree, file_offset); in btrfs_dec_test_ordered_pending()
405 if (!offset_in_entry(entry, file_offset)) { in btrfs_dec_test_ordered_pending()
654 u64 start = entry->file_offset; in btrfs_start_ordered_extent()
713 if (ordered->file_offset > orig_end) { in btrfs_wait_ordered_range()
717 if (ordered->file_offset + ordered->num_bytes <= start) { in btrfs_wait_ordered_range()
722 end = ordered->file_offset; in btrfs_wait_ordered_range()
743 u64 file_offset) in btrfs_lookup_ordered_extent() argument
751 node = tree_search(tree, file_offset); in btrfs_lookup_ordered_extent()
756 if (!offset_in_entry(entry, file_offset)) in btrfs_lookup_ordered_extent()
769 struct btrfs_inode *inode, u64 file_offset, u64 len) in btrfs_lookup_ordered_range() argument
777 node = tree_search(tree, file_offset); in btrfs_lookup_ordered_range()
779 node = tree_search(tree, file_offset + len); in btrfs_lookup_ordered_range()
786 if (range_overlaps(entry, file_offset, len)) in btrfs_lookup_ordered_range()
789 if (entry->file_offset >= file_offset + len) { in btrfs_lookup_ordered_range()
838 btrfs_lookup_first_ordered_extent(struct btrfs_inode *inode, u64 file_offset) in btrfs_lookup_first_ordered_extent() argument
846 node = tree_search(tree, file_offset); in btrfs_lookup_first_ordered_extent()