Lines Matching defs:ordered
96 * how many bytes are there before stripe/ordered extent boundary.
538 btrfs_finish_ordered_extent(bbio->ordered, bbio->file_offset, bio_size, !error);
741 /* Limit data write bios to the ordered boundary. */
743 struct btrfs_ordered_extent *ordered;
749 ordered = btrfs_lookup_ordered_extent(inode, file_offset);
750 if (unlikely(!ordered)) {
761 ordered->file_offset +
762 ordered->disk_num_bytes - file_offset);
763 bbio->ordered = ordered;
793 * for data write, where there is no ordered extent for the range.
823 /* Cap to the current ordered extent boundary if there is one. */
854 * our ordered extent for writes into zoned devices.
856 * When len_to_oe_boundary is tracking an ordered extent, we
857 * trust the ordered extent code to align things properly, and
858 * the check above to cap our write to the ordered extent
866 * unless we're using it to track an ordered extent.
1196 * Check if we can skip waiting the @ordered extent covering the block at @fileoff.
1207 * Return false if we must wait for the ordered extent.
1210 struct btrfs_ordered_extent *ordered,
1257 ordered->file_offset + ordered->num_bytes) - cur;
1265 *fileoff = ordered->file_offset + ordered->num_bytes;
1279 ordered->file_offset + ordered->num_bytes) - cur;
1306 struct btrfs_ordered_extent *ordered,
1309 const u64 range_end = min(end, ordered->file_offset + ordered->num_bytes - 1);
1310 u64 cur = max(start, ordered->file_offset);
1315 can_skip = can_skip_one_ordered_range(inode, ordered, &cur);
1345 struct btrfs_ordered_extent *ordered;
1347 ordered = btrfs_lookup_ordered_range(inode, cur_pos,
1350 * No ordered extents in the range, and we hold the extent lock,
1353 if (!ordered)
1357 if (can_skip_ordered_extent(inode, ordered, start, end)) {
1358 cur_pos = min(ordered->file_offset + ordered->num_bytes,
1360 btrfs_put_ordered_extent(ordered);
1366 btrfs_start_ordered_extent_nowriteback(ordered, start, end + 1 - start);
1367 btrfs_put_ordered_extent(ordered);
1455 * Any allocated ordered extent range covering this folio will be marked
1478 * Any range covered by ordered extent must either be manually marked
1480 * ordered extent normally).
1482 * This records the end of ordered extent cleanup if we hit an error.
1608 * It's possible we had some ordered extents created before we hit
1696 * ordered extent.
1703 * Since there is no bio submitted to finish the ordered
1798 struct btrfs_ordered_extent *ordered;
1800 ordered = btrfs_lookup_first_ordered_range(inode, cur,
1804 * there must be an ordered extent.
1806 ASSERT(ordered != NULL);
1808 set_bit(BTRFS_ORDERED_TRUNCATED, &ordered->flags);
1809 ordered->truncated_len = min(ordered->truncated_len,
1810 cur - ordered->file_offset);
1812 btrfs_put_ordered_extent(ordered);
1821 * causing writeback without ordered extent.
2486 * We have to hold onto the inode so that ordered extents can do their
2488 * an ordered extent if the igrab() fails there and that is a huge pain
2637 * already been ran (aka, ordered extent inserted) and all pages are still
2779 * We can release the folio if it's locked only for ordered extent
2791 * nodatasum, delalloc new and finishing ordered bits. The delalloc new
2792 * bit will be cleared by ordered extent completion.