Lines Matching refs:ordered

508 	struct btrfs_ordered_extent *ordered;  in btrfs_run_ordered_extent_work()  local
510 ordered = container_of(work, struct btrfs_ordered_extent, flush_work); in btrfs_run_ordered_extent_work()
511 btrfs_start_ordered_extent(ordered->inode, ordered, 1); in btrfs_run_ordered_extent_work()
512 complete(&ordered->completion); in btrfs_run_ordered_extent_work()
526 struct btrfs_ordered_extent *ordered, *next; in btrfs_wait_ordered_extents() local
534 ordered = list_first_entry(&splice, struct btrfs_ordered_extent, in btrfs_wait_ordered_extents()
537 if (range_end <= ordered->start || in btrfs_wait_ordered_extents()
538 ordered->start + ordered->disk_len <= range_start) { in btrfs_wait_ordered_extents()
539 list_move_tail(&ordered->root_extent_list, &skipped); in btrfs_wait_ordered_extents()
544 list_move_tail(&ordered->root_extent_list, in btrfs_wait_ordered_extents()
546 refcount_inc(&ordered->refs); in btrfs_wait_ordered_extents()
549 btrfs_init_work(&ordered->flush_work, in btrfs_wait_ordered_extents()
552 list_add_tail(&ordered->work_list, &works); in btrfs_wait_ordered_extents()
553 btrfs_queue_work(fs_info->flush_workers, &ordered->flush_work); in btrfs_wait_ordered_extents()
565 list_for_each_entry_safe(ordered, next, &works, work_list) { in btrfs_wait_ordered_extents()
566 list_del_init(&ordered->work_list); in btrfs_wait_ordered_extents()
567 wait_for_completion(&ordered->completion); in btrfs_wait_ordered_extents()
568 btrfs_put_ordered_extent(ordered); in btrfs_wait_ordered_extents()
653 struct btrfs_ordered_extent *ordered; in btrfs_wait_ordered_range() local
681 ordered = btrfs_lookup_first_ordered_extent(inode, end); in btrfs_wait_ordered_range()
682 if (!ordered) in btrfs_wait_ordered_range()
684 if (ordered->file_offset > orig_end) { in btrfs_wait_ordered_range()
685 btrfs_put_ordered_extent(ordered); in btrfs_wait_ordered_range()
688 if (ordered->file_offset + ordered->len <= start) { in btrfs_wait_ordered_range()
689 btrfs_put_ordered_extent(ordered); in btrfs_wait_ordered_range()
692 btrfs_start_ordered_extent(inode, ordered, 1); in btrfs_wait_ordered_range()
693 end = ordered->file_offset; in btrfs_wait_ordered_range()
694 if (test_bit(BTRFS_ORDERED_IOERR, &ordered->flags)) in btrfs_wait_ordered_range()
696 btrfs_put_ordered_extent(ordered); in btrfs_wait_ordered_range()
800 struct btrfs_ordered_extent *ordered) in btrfs_ordered_update_i_size() argument
813 if (ordered) { in btrfs_ordered_update_i_size()
814 offset = entry_end(ordered); in btrfs_ordered_update_i_size()
815 if (test_bit(BTRFS_ORDERED_TRUNCATED, &ordered->flags)) in btrfs_ordered_update_i_size()
817 ordered->file_offset + in btrfs_ordered_update_i_size()
818 ordered->truncated_len); in btrfs_ordered_update_i_size()
835 if (!ordered && disk_i_size > i_size) { in btrfs_ordered_update_i_size()
853 (!ordered || ordered->outstanding_isize <= disk_i_size)) in btrfs_ordered_update_i_size()
861 if (ordered) { in btrfs_ordered_update_i_size()
862 node = rb_prev(&ordered->rb_node); in btrfs_ordered_update_i_size()
894 if (ordered && in btrfs_ordered_update_i_size()
895 ordered->outstanding_isize > test->outstanding_isize) in btrfs_ordered_update_i_size()
896 test->outstanding_isize = ordered->outstanding_isize; in btrfs_ordered_update_i_size()
905 if (ordered && ordered->outstanding_isize > new_i_size) in btrfs_ordered_update_i_size()
906 new_i_size = min_t(u64, ordered->outstanding_isize, i_size); in btrfs_ordered_update_i_size()
917 if (ordered) in btrfs_ordered_update_i_size()
918 set_bit(BTRFS_ORDERED_UPDATED_ISIZE, &ordered->flags); in btrfs_ordered_update_i_size()
933 struct btrfs_ordered_extent *ordered; in btrfs_find_ordered_sum() local
941 ordered = btrfs_lookup_ordered_extent(inode, offset); in btrfs_find_ordered_sum()
942 if (!ordered) in btrfs_find_ordered_sum()
946 list_for_each_entry_reverse(ordered_sum, &ordered->list, list) { in btrfs_find_ordered_sum()
965 btrfs_put_ordered_extent(ordered); in btrfs_find_ordered_sum()
988 struct btrfs_ordered_extent *ordered; in btrfs_lock_and_flush_ordered_range() local
997 ordered = btrfs_lookup_ordered_range(inode, start, in btrfs_lock_and_flush_ordered_range()
999 if (!ordered) { in btrfs_lock_and_flush_ordered_range()
1010 btrfs_start_ordered_extent(&inode->vfs_inode, ordered, 1); in btrfs_lock_and_flush_ordered_range()
1011 btrfs_put_ordered_extent(ordered); in btrfs_lock_and_flush_ordered_range()