Lines Matching defs:ordered
966 * This function locks the extent and properly waits for data=ordered extents
992 struct btrfs_ordered_extent *ordered;
1009 ordered = btrfs_lookup_ordered_range(inode, start_pos,
1011 if (ordered &&
1012 ordered->file_offset + ordered->num_bytes > start_pos &&
1013 ordered->file_offset <= last_pos) {
1020 btrfs_start_ordered_extent(ordered);
1021 btrfs_put_ordered_extent(ordered);
1024 if (ordered)
1025 btrfs_put_ordered_extent(ordered);
1049 * This function will flush ordered extents in the range to ensure proper
1524 * an ordered extent, and after that it will fault in the pages that the
1527 * find that ordered extent and then wait for it to complete (at
1529 * obviously the ordered extent can never complete as we didn't submit
1756 * update the last_trans of the inode during ordered extent completion,
1772 * It needs to call filemap_fdatawait so that all ordered extent updates are
1799 * races between hole detection during logging and completion of ordered
1800 * extents outside the range, to missing checksums due to ordered extents
1837 * wait for all ordered extents to complete below.
1860 * For a full fsync we wait for the ordered extents to complete while
1862 * attach the ordered extents to the transaction so that a transaction
1864 * the current transaction commits before the ordered extents complete
1868 * logical address recorded in the ordered extent may change. We need
1875 * Get our ordered extents as soon as possible to avoid doing
1877 * checksums attached to the ordered extents.
1899 * An ordered extent might have started before and completed
1965 * the ordered extents, start it again and commit the transaction. If
1966 * we attempt to wait on the ordered extents here we could deadlock with
1982 * making sure the transaction that had the ordered extents is
2213 * We can't have ordered extents in the range, nor dirty/writeback
2217 * for any ordered extents in the range to complete.
3100 * all ordered extents in the range to complete. After this we can lock
3102 * can't be more delalloc or ordered extents in the range.
3260 /* Else trim our search range for ordered extents. */
3270 * Now also check if there's any ordered extent in the range.
3275 * an ordered extent for the write. So we might just have been called
3276 * after delalloc is flushed and before the ordered extent completes
3279 * 2) We may have an ordered extent created by flushing delalloc for a
3284 * being flushed, but using the ordered extents tree is more efficient
3285 * because it's usually much smaller as ordered extents are removed from
3294 /* The ordered extent may span beyond our search range. */
3300 /* Don't have unflushed delalloc, return the ordered extent range. */
3308 * We have both unflushed delalloc (io_tree) and an ordered extent.
3767 * our own ordered extent). This is because for direct IO reads,
3853 * from there. We have to do this otherwise we'll miss the ordered