Lines Matching refs:file_offset

20 	if (entry->file_offset + entry->len < entry->file_offset)  in entry_end()
22 return entry->file_offset + entry->len; in entry_end()
28 static struct rb_node *tree_insert(struct rb_root *root, u64 file_offset, in tree_insert() argument
39 if (file_offset < entry->file_offset) in tree_insert()
41 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()
117 static int offset_in_entry(struct btrfs_ordered_extent *entry, u64 file_offset) in offset_in_entry() argument
119 if (file_offset < entry->file_offset || in offset_in_entry()
120 entry->file_offset + entry->len <= file_offset) in offset_in_entry()
125 static int range_overlaps(struct btrfs_ordered_extent *entry, u64 file_offset, in range_overlaps() argument
128 if (file_offset + len <= entry->file_offset || in range_overlaps()
129 entry->file_offset + entry->len <= file_offset) in range_overlaps()
139 u64 file_offset) in tree_search() argument
149 if (offset_in_entry(entry, file_offset)) in tree_search()
152 ret = __tree_search(root, file_offset, &prev); in tree_search()
171 static int __btrfs_add_ordered_extent(struct inode *inode, u64 file_offset, in __btrfs_add_ordered_extent() argument
186 entry->file_offset = file_offset; in __btrfs_add_ordered_extent()
213 node = tree_insert(&tree->tree, file_offset, in __btrfs_add_ordered_extent()
216 ordered_data_tree_panic(inode, -EEXIST, file_offset); in __btrfs_add_ordered_extent()
243 int btrfs_add_ordered_extent(struct inode *inode, u64 file_offset, in btrfs_add_ordered_extent() argument
246 return __btrfs_add_ordered_extent(inode, file_offset, start, len, in btrfs_add_ordered_extent()
251 int btrfs_add_ordered_extent_dio(struct inode *inode, u64 file_offset, in btrfs_add_ordered_extent_dio() argument
254 return __btrfs_add_ordered_extent(inode, file_offset, start, len, in btrfs_add_ordered_extent_dio()
259 int btrfs_add_ordered_extent_compress(struct inode *inode, u64 file_offset, in btrfs_add_ordered_extent_compress() argument
263 return __btrfs_add_ordered_extent(inode, file_offset, start, len, in btrfs_add_ordered_extent_compress()
299 u64 *file_offset, u64 io_size, int uptodate) in btrfs_dec_test_first_ordered_pending() argument
313 node = tree_search(tree, *file_offset); in btrfs_dec_test_first_ordered_pending()
320 if (!offset_in_entry(entry, *file_offset)) { in btrfs_dec_test_first_ordered_pending()
325 dec_start = max(*file_offset, entry->file_offset); in btrfs_dec_test_first_ordered_pending()
326 dec_end = min(*file_offset + io_size, entry->file_offset + in btrfs_dec_test_first_ordered_pending()
328 *file_offset = dec_end; in btrfs_dec_test_first_ordered_pending()
370 u64 file_offset, u64 io_size, int uptodate) in btrfs_dec_test_ordered_pending() argument
385 node = tree_search(tree, file_offset); in btrfs_dec_test_ordered_pending()
393 if (!offset_in_entry(entry, file_offset)) { in btrfs_dec_test_ordered_pending()
647 u64 start = entry->file_offset; in btrfs_start_ordered_extent()
705 if (ordered->file_offset > orig_end) { in btrfs_wait_ordered_range()
709 if (ordered->file_offset + ordered->len <= start) { in btrfs_wait_ordered_range()
714 end = ordered->file_offset; in btrfs_wait_ordered_range()
730 u64 file_offset) in btrfs_lookup_ordered_extent() argument
738 node = tree_search(tree, file_offset); in btrfs_lookup_ordered_extent()
743 if (!offset_in_entry(entry, file_offset)) in btrfs_lookup_ordered_extent()
756 struct btrfs_inode *inode, u64 file_offset, u64 len) in btrfs_lookup_ordered_range() argument
764 node = tree_search(tree, file_offset); in btrfs_lookup_ordered_range()
766 node = tree_search(tree, file_offset + len); in btrfs_lookup_ordered_range()
773 if (range_overlaps(entry, file_offset, len)) in btrfs_lookup_ordered_range()
776 if (entry->file_offset >= file_offset + len) { in btrfs_lookup_ordered_range()
797 btrfs_lookup_first_ordered_extent(struct inode *inode, u64 file_offset) in btrfs_lookup_first_ordered_extent() argument
805 node = tree_search(tree, file_offset); in btrfs_lookup_first_ordered_extent()
838 ordered->file_offset + in btrfs_ordered_update_i_size()
906 if (test->file_offset >= i_size) in btrfs_ordered_update_i_size()