Lines Matching refs:ordered_extent

99 static int btrfs_finish_ordered_io(struct btrfs_ordered_extent *ordered_extent);
2794 static int btrfs_finish_ordered_io(struct btrfs_ordered_extent *ordered_extent) in btrfs_finish_ordered_io() argument
2796 struct inode *inode = ordered_extent->inode; in btrfs_finish_ordered_io()
2804 u64 logical_len = ordered_extent->len; in btrfs_finish_ordered_io()
2810 if (test_bit(BTRFS_ORDERED_IOERR, &ordered_extent->flags)) { in btrfs_finish_ordered_io()
2815 btrfs_free_io_failure_record(inode, ordered_extent->file_offset, in btrfs_finish_ordered_io()
2816 ordered_extent->file_offset + in btrfs_finish_ordered_io()
2817 ordered_extent->len - 1); in btrfs_finish_ordered_io()
2819 if (test_bit(BTRFS_ORDERED_TRUNCATED, &ordered_extent->flags)) { in btrfs_finish_ordered_io()
2821 logical_len = ordered_extent->truncated_len; in btrfs_finish_ordered_io()
2827 if (test_bit(BTRFS_ORDERED_NOCOW, &ordered_extent->flags)) { in btrfs_finish_ordered_io()
2828 BUG_ON(!list_empty(&ordered_extent->list)); /* Logic error */ in btrfs_finish_ordered_io()
2829 btrfs_ordered_update_i_size(inode, 0, ordered_extent); in btrfs_finish_ordered_io()
2846 lock_extent_bits(io_tree, ordered_extent->file_offset, in btrfs_finish_ordered_io()
2847 ordered_extent->file_offset + ordered_extent->len - 1, in btrfs_finish_ordered_io()
2850 ret = test_range_bit(io_tree, ordered_extent->file_offset, in btrfs_finish_ordered_io()
2851 ordered_extent->file_offset + ordered_extent->len - 1, in btrfs_finish_ordered_io()
2857 new = record_old_file_extents(inode, ordered_extent); in btrfs_finish_ordered_io()
2859 clear_extent_bit(io_tree, ordered_extent->file_offset, in btrfs_finish_ordered_io()
2860 ordered_extent->file_offset + ordered_extent->len - 1, in btrfs_finish_ordered_io()
2876 if (test_bit(BTRFS_ORDERED_COMPRESSED, &ordered_extent->flags)) in btrfs_finish_ordered_io()
2877 compress_type = ordered_extent->compress_type; in btrfs_finish_ordered_io()
2878 if (test_bit(BTRFS_ORDERED_PREALLOC, &ordered_extent->flags)) { in btrfs_finish_ordered_io()
2881 ordered_extent->file_offset, in btrfs_finish_ordered_io()
2882 ordered_extent->file_offset + in btrfs_finish_ordered_io()
2887 ordered_extent->file_offset, in btrfs_finish_ordered_io()
2888 ordered_extent->start, in btrfs_finish_ordered_io()
2889 ordered_extent->disk_len, in btrfs_finish_ordered_io()
2895 ordered_extent->start, in btrfs_finish_ordered_io()
2896 ordered_extent->disk_len); in btrfs_finish_ordered_io()
2899 ordered_extent->file_offset, ordered_extent->len, in btrfs_finish_ordered_io()
2906 add_pending_csums(trans, inode, ordered_extent->file_offset, in btrfs_finish_ordered_io()
2907 &ordered_extent->list); in btrfs_finish_ordered_io()
2909 btrfs_ordered_update_i_size(inode, 0, ordered_extent); in btrfs_finish_ordered_io()
2917 unlock_extent_cached(io_tree, ordered_extent->file_offset, in btrfs_finish_ordered_io()
2918 ordered_extent->file_offset + in btrfs_finish_ordered_io()
2919 ordered_extent->len - 1, &cached_state, GFP_NOFS); in btrfs_finish_ordered_io()
2922 btrfs_delalloc_release_metadata(inode, ordered_extent->len); in btrfs_finish_ordered_io()
2930 start = ordered_extent->file_offset + logical_len; in btrfs_finish_ordered_io()
2932 start = ordered_extent->file_offset; in btrfs_finish_ordered_io()
2933 end = ordered_extent->file_offset + ordered_extent->len - 1; in btrfs_finish_ordered_io()
2946 !test_bit(BTRFS_ORDERED_NOCOW, &ordered_extent->flags) && in btrfs_finish_ordered_io()
2947 !test_bit(BTRFS_ORDERED_PREALLOC, &ordered_extent->flags)) in btrfs_finish_ordered_io()
2948 btrfs_free_reserved_extent(root, ordered_extent->start, in btrfs_finish_ordered_io()
2949 ordered_extent->disk_len, 1); in btrfs_finish_ordered_io()
2957 btrfs_remove_ordered_extent(inode, ordered_extent); in btrfs_finish_ordered_io()
2970 btrfs_put_ordered_extent(ordered_extent); in btrfs_finish_ordered_io()
2972 btrfs_put_ordered_extent(ordered_extent); in btrfs_finish_ordered_io()
2979 struct btrfs_ordered_extent *ordered_extent; in finish_ordered_fn() local
2980 ordered_extent = container_of(work, struct btrfs_ordered_extent, work); in finish_ordered_fn()
2981 btrfs_finish_ordered_io(ordered_extent); in finish_ordered_fn()
2989 struct btrfs_ordered_extent *ordered_extent = NULL; in btrfs_writepage_end_io_hook() local
2996 if (!btrfs_dec_test_ordered_pending(inode, &ordered_extent, start, in btrfs_writepage_end_io_hook()
3008 btrfs_init_work(&ordered_extent->work, func, finish_ordered_fn, NULL, in btrfs_writepage_end_io_hook()
3010 btrfs_queue_work(wq, &ordered_extent->work); in btrfs_writepage_end_io_hook()