Lines Matching refs:ordered
17 struct btrfs_ordered_extent *ordered;
40 struct btrfs_ordered_extent *ordered;
63 * doing DIO to, so we need to make sure there's no ordered
66 ordered = btrfs_lookup_ordered_range(BTRFS_I(inode), lockstart,
76 if (!ordered &&
83 if (ordered) {
85 btrfs_put_ordered_extent(ordered);
90 * If we are doing a DIO read and the ordered extent we
96 * created an ordered extent for a previous extent map
105 test_bit(BTRFS_ORDERED_DIRECT, &ordered->flags))
106 btrfs_start_ordered_extent(ordered);
109 btrfs_put_ordered_extent(ordered);
118 * ordered dio extent we created before but did not have
121 * ordered extent to complete while holding a lock on
145 struct btrfs_ordered_extent *ordered;
153 ordered = btrfs_alloc_ordered_extent(inode, start, file_extent,
156 if (IS_ERR(ordered)) {
162 em = ERR_CAST(ordered);
164 ASSERT(!dio_data->ordered);
165 dio_data->ordered = ordered;
333 * We have created our ordered extent, so we can now release our reservation
626 btrfs_finish_ordered_extent(dio_data->ordered, NULL,
634 btrfs_put_ordered_extent(dio_data->ordered);
635 dio_data->ordered = NULL;
658 btrfs_finish_ordered_extent(bbio->ordered, NULL,
671 struct btrfs_ordered_extent *ordered)
678 /* Must always be called for the beginning of an ordered extent. */
679 if (WARN_ON_ONCE(start != ordered->disk_bytenr))
682 /* No need to split if the ordered extent covers the entire bio. */
683 if (ordered->disk_num_bytes == len) {
684 refcount_inc(&ordered->refs);
685 bbio->ordered = ordered;
693 if (!test_bit(BTRFS_ORDERED_NOCOW, &ordered->flags)) {
695 ordered->num_bytes, len,
696 ordered->disk_bytenr);
701 new = btrfs_split_ordered_extent(ordered, len);
704 bbio->ordered = new;
728 * the ordered extent to match the submitted bio. Hang on to the
731 * remaining pages is blocked on the outstanding ordered extent.
736 ret = btrfs_extract_ordered_extent(bbio, dio_data->ordered);
738 btrfs_finish_ordered_extent(dio_data->ordered, NULL,
879 * an ordered extent, and after that it will fault in the pages that the
882 * find that ordered extent and then wait for it to complete (at
884 * obviously the ordered extent can never complete as we didn't submit
1041 * our own ordered extent). This is because for direct IO reads,