Lines Matching refs:ordered_extent

83 static int btrfs_finish_ordered_io(struct btrfs_ordered_extent *ordered_extent);
2628 static int btrfs_finish_ordered_io(struct btrfs_ordered_extent *ordered_extent)
2630 struct inode *inode = ordered_extent->inode;
2639 u64 logical_len = ordered_extent->num_bytes;
2647 start = ordered_extent->file_offset;
2648 end = start + ordered_extent->num_bytes - 1;
2650 if (!test_bit(BTRFS_ORDERED_NOCOW, &ordered_extent->flags) &&
2651 !test_bit(BTRFS_ORDERED_PREALLOC, &ordered_extent->flags) &&
2652 !test_bit(BTRFS_ORDERED_DIRECT, &ordered_extent->flags))
2657 if (test_bit(BTRFS_ORDERED_IOERR, &ordered_extent->flags)) {
2664 if (test_bit(BTRFS_ORDERED_TRUNCATED, &ordered_extent->flags)) {
2666 logical_len = ordered_extent->truncated_len;
2672 if (test_bit(BTRFS_ORDERED_NOCOW, &ordered_extent->flags)) {
2673 BUG_ON(!list_empty(&ordered_extent->list)); /* Logic error */
2707 if (test_bit(BTRFS_ORDERED_COMPRESSED, &ordered_extent->flags))
2708 compress_type = ordered_extent->compress_type;
2709 if (test_bit(BTRFS_ORDERED_PREALLOC, &ordered_extent->flags)) {
2712 ordered_extent->file_offset,
2713 ordered_extent->file_offset +
2717 ret = insert_ordered_extent_file_extent(trans, ordered_extent);
2721 ordered_extent->disk_bytenr,
2722 ordered_extent->disk_num_bytes);
2726 ordered_extent->file_offset,
2727 ordered_extent->num_bytes, trans->transid);
2733 ret = add_pending_csums(trans, &ordered_extent->list);
2771 &ordered_extent->flags))
2772 mapping_set_error(ordered_extent->inode->i_mapping, -EIO);
2793 !test_bit(BTRFS_ORDERED_NOCOW, &ordered_extent->flags) &&
2794 !test_bit(BTRFS_ORDERED_PREALLOC, &ordered_extent->flags)) {
2801 ordered_extent->disk_bytenr,
2802 ordered_extent->disk_num_bytes,
2805 ordered_extent->disk_bytenr,
2806 ordered_extent->disk_num_bytes, 1);
2814 btrfs_remove_ordered_extent(BTRFS_I(inode), ordered_extent);
2817 btrfs_put_ordered_extent(ordered_extent);
2819 btrfs_put_ordered_extent(ordered_extent);
2826 struct btrfs_ordered_extent *ordered_extent;
2827 ordered_extent = container_of(work, struct btrfs_ordered_extent, work);
2828 btrfs_finish_ordered_io(ordered_extent);
2836 struct btrfs_ordered_extent *ordered_extent = NULL;
2842 if (!btrfs_dec_test_ordered_pending(inode, &ordered_extent, start,
2851 btrfs_init_work(&ordered_extent->work, finish_ordered_fn, NULL, NULL);
2852 btrfs_queue_work(wq, &ordered_extent->work);