Lines Matching refs:ordered
529 struct btrfs_ordered_extent *ordered; in btrfs_run_ordered_extent_work() local
531 ordered = container_of(work, struct btrfs_ordered_extent, flush_work); in btrfs_run_ordered_extent_work()
532 btrfs_start_ordered_extent(ordered->inode, ordered, 1); in btrfs_run_ordered_extent_work()
533 complete(&ordered->completion); in btrfs_run_ordered_extent_work()
547 struct btrfs_ordered_extent *ordered, *next; in btrfs_wait_ordered_extents() local
555 ordered = list_first_entry(&splice, struct btrfs_ordered_extent, in btrfs_wait_ordered_extents()
558 if (range_end <= ordered->start || in btrfs_wait_ordered_extents()
559 ordered->start + ordered->disk_len <= range_start) { in btrfs_wait_ordered_extents()
560 list_move_tail(&ordered->root_extent_list, &skipped); in btrfs_wait_ordered_extents()
565 list_move_tail(&ordered->root_extent_list, in btrfs_wait_ordered_extents()
567 refcount_inc(&ordered->refs); in btrfs_wait_ordered_extents()
570 btrfs_init_work(&ordered->flush_work, in btrfs_wait_ordered_extents()
573 list_add_tail(&ordered->work_list, &works); in btrfs_wait_ordered_extents()
574 btrfs_queue_work(fs_info->flush_workers, &ordered->flush_work); in btrfs_wait_ordered_extents()
586 list_for_each_entry_safe(ordered, next, &works, work_list) { in btrfs_wait_ordered_extents()
587 list_del_init(&ordered->work_list); in btrfs_wait_ordered_extents()
588 wait_for_completion(&ordered->completion); in btrfs_wait_ordered_extents()
589 btrfs_put_ordered_extent(ordered); in btrfs_wait_ordered_extents()
674 struct btrfs_ordered_extent *ordered; in btrfs_wait_ordered_range() local
702 ordered = btrfs_lookup_first_ordered_extent(inode, end); in btrfs_wait_ordered_range()
703 if (!ordered) in btrfs_wait_ordered_range()
705 if (ordered->file_offset > orig_end) { in btrfs_wait_ordered_range()
706 btrfs_put_ordered_extent(ordered); in btrfs_wait_ordered_range()
709 if (ordered->file_offset + ordered->len <= start) { in btrfs_wait_ordered_range()
710 btrfs_put_ordered_extent(ordered); in btrfs_wait_ordered_range()
713 btrfs_start_ordered_extent(inode, ordered, 1); in btrfs_wait_ordered_range()
714 end = ordered->file_offset; in btrfs_wait_ordered_range()
715 if (test_bit(BTRFS_ORDERED_IOERR, &ordered->flags)) in btrfs_wait_ordered_range()
717 btrfs_put_ordered_extent(ordered); in btrfs_wait_ordered_range()
821 struct btrfs_ordered_extent *ordered) in btrfs_ordered_update_i_size() argument
834 if (ordered) { in btrfs_ordered_update_i_size()
835 offset = entry_end(ordered); in btrfs_ordered_update_i_size()
836 if (test_bit(BTRFS_ORDERED_TRUNCATED, &ordered->flags)) in btrfs_ordered_update_i_size()
838 ordered->file_offset + in btrfs_ordered_update_i_size()
839 ordered->truncated_len); in btrfs_ordered_update_i_size()
856 if (!ordered && disk_i_size > i_size) { in btrfs_ordered_update_i_size()
874 (!ordered || ordered->outstanding_isize <= disk_i_size)) in btrfs_ordered_update_i_size()
882 if (ordered) { in btrfs_ordered_update_i_size()
883 node = rb_prev(&ordered->rb_node); in btrfs_ordered_update_i_size()
915 if (ordered && in btrfs_ordered_update_i_size()
916 ordered->outstanding_isize > test->outstanding_isize) in btrfs_ordered_update_i_size()
917 test->outstanding_isize = ordered->outstanding_isize; in btrfs_ordered_update_i_size()
926 if (ordered && ordered->outstanding_isize > new_i_size) in btrfs_ordered_update_i_size()
927 new_i_size = min_t(u64, ordered->outstanding_isize, i_size); in btrfs_ordered_update_i_size()
938 if (ordered) in btrfs_ordered_update_i_size()
939 set_bit(BTRFS_ORDERED_UPDATED_ISIZE, &ordered->flags); in btrfs_ordered_update_i_size()
953 struct btrfs_ordered_extent *ordered; in btrfs_find_ordered_sum() local
960 ordered = btrfs_lookup_ordered_extent(inode, offset); in btrfs_find_ordered_sum()
961 if (!ordered) in btrfs_find_ordered_sum()
965 list_for_each_entry_reverse(ordered_sum, &ordered->list, list) { in btrfs_find_ordered_sum()
984 btrfs_put_ordered_extent(ordered); in btrfs_find_ordered_sum()