Lines Matching refs:ordered
420 struct btrfs_ordered_extent *ordered; in btrfs_get_logged_extents() local
427 ordered = rb_entry(n, struct btrfs_ordered_extent, rb_node); in btrfs_get_logged_extents()
429 if (list_empty(&ordered->log_list)) { in btrfs_get_logged_extents()
430 list_add_tail(&ordered->log_list, &log->logged_list[index]); in btrfs_get_logged_extents()
431 atomic_inc(&ordered->refs); in btrfs_get_logged_extents()
440 struct btrfs_ordered_extent *ordered; in btrfs_wait_logged_extents() local
445 ordered = list_first_entry(&log->logged_list[index], in btrfs_wait_logged_extents()
448 list_del_init(&ordered->log_list); in btrfs_wait_logged_extents()
450 wait_event(ordered->wait, test_bit(BTRFS_ORDERED_IO_DONE, in btrfs_wait_logged_extents()
451 &ordered->flags)); in btrfs_wait_logged_extents()
452 btrfs_put_ordered_extent(ordered); in btrfs_wait_logged_extents()
460 struct btrfs_ordered_extent *ordered; in btrfs_free_logged_extents() local
465 ordered = list_first_entry(&log->logged_list[index], in btrfs_free_logged_extents()
468 list_del_init(&ordered->log_list); in btrfs_free_logged_extents()
470 btrfs_put_ordered_extent(ordered); in btrfs_free_logged_extents()
539 struct btrfs_ordered_extent *ordered; in btrfs_run_ordered_extent_work() local
541 ordered = container_of(work, struct btrfs_ordered_extent, flush_work); in btrfs_run_ordered_extent_work()
542 btrfs_start_ordered_extent(ordered->inode, ordered, 1); in btrfs_run_ordered_extent_work()
543 complete(&ordered->completion); in btrfs_run_ordered_extent_work()
554 struct btrfs_ordered_extent *ordered, *next; in btrfs_wait_ordered_extents() local
565 ordered = list_entry(cur, struct btrfs_ordered_extent, in btrfs_wait_ordered_extents()
567 list_del_init(&ordered->root_extent_list); in btrfs_wait_ordered_extents()
568 atomic_inc(&ordered->refs); in btrfs_wait_ordered_extents()
573 inode = igrab(ordered->inode); in btrfs_wait_ordered_extents()
578 ordered->flush_work.func = btrfs_run_ordered_extent_work; in btrfs_wait_ordered_extents()
579 list_add_tail(&ordered->work_list, &works); in btrfs_wait_ordered_extents()
581 &ordered->flush_work); in btrfs_wait_ordered_extents()
583 btrfs_put_ordered_extent(ordered); in btrfs_wait_ordered_extents()
591 list_for_each_entry_safe(ordered, next, &works, work_list) { in btrfs_wait_ordered_extents()
592 list_del_init(&ordered->work_list); in btrfs_wait_ordered_extents()
593 wait_for_completion(&ordered->completion); in btrfs_wait_ordered_extents()
595 inode = ordered->inode; in btrfs_wait_ordered_extents()
596 btrfs_put_ordered_extent(ordered); in btrfs_wait_ordered_extents()
718 struct btrfs_ordered_extent *ordered; in btrfs_wait_ordered_range() local
755 ordered = btrfs_lookup_first_ordered_extent(inode, end); in btrfs_wait_ordered_range()
756 if (!ordered) in btrfs_wait_ordered_range()
758 if (ordered->file_offset > orig_end) { in btrfs_wait_ordered_range()
759 btrfs_put_ordered_extent(ordered); in btrfs_wait_ordered_range()
762 if (ordered->file_offset + ordered->len < start) { in btrfs_wait_ordered_range()
763 btrfs_put_ordered_extent(ordered); in btrfs_wait_ordered_range()
766 btrfs_start_ordered_extent(inode, ordered, 1); in btrfs_wait_ordered_range()
767 end = ordered->file_offset; in btrfs_wait_ordered_range()
768 btrfs_put_ordered_extent(ordered); in btrfs_wait_ordered_range()
872 struct btrfs_ordered_extent *ordered) in btrfs_ordered_update_i_size() argument
883 if (ordered) in btrfs_ordered_update_i_size()
884 offset = entry_end(ordered); in btrfs_ordered_update_i_size()
910 (!ordered || ordered->outstanding_isize <= disk_i_size)) in btrfs_ordered_update_i_size()
918 if (ordered) { in btrfs_ordered_update_i_size()
919 node = rb_prev(&ordered->rb_node); in btrfs_ordered_update_i_size()
951 if (ordered && in btrfs_ordered_update_i_size()
952 ordered->outstanding_isize > in btrfs_ordered_update_i_size()
955 ordered->outstanding_isize; in btrfs_ordered_update_i_size()
965 if (ordered && ordered->outstanding_isize > new_i_size) in btrfs_ordered_update_i_size()
966 new_i_size = min_t(u64, ordered->outstanding_isize, i_size); in btrfs_ordered_update_i_size()
977 if (ordered) in btrfs_ordered_update_i_size()
978 set_bit(BTRFS_ORDERED_UPDATED_ISIZE, &ordered->flags); in btrfs_ordered_update_i_size()
993 struct btrfs_ordered_extent *ordered; in btrfs_find_ordered_sum() local
1000 ordered = btrfs_lookup_ordered_extent(inode, offset); in btrfs_find_ordered_sum()
1001 if (!ordered) in btrfs_find_ordered_sum()
1005 list_for_each_entry_reverse(ordered_sum, &ordered->list, list) { in btrfs_find_ordered_sum()
1026 btrfs_put_ordered_extent(ordered); in btrfs_find_ordered_sum()