Lines Matching refs:ordered
1761 static void btrfs_rewrite_logical_zoned(struct btrfs_ordered_extent *ordered,
1764 struct extent_map_tree *em_tree = &BTRFS_I(ordered->inode)->extent_tree;
1767 ordered->disk_bytenr = logical;
1770 em = search_extent_mapping(em_tree, ordered->file_offset,
1771 ordered->num_bytes);
1777 static bool btrfs_zoned_split_ordered(struct btrfs_ordered_extent *ordered,
1782 if (!test_bit(BTRFS_ORDERED_NOCOW, &ordered->flags) &&
1783 split_extent_map(BTRFS_I(ordered->inode), ordered->file_offset,
1784 ordered->num_bytes, len, logical))
1787 new = btrfs_split_ordered_extent(ordered, len);
1795 void btrfs_finish_ordered_zoned(struct btrfs_ordered_extent *ordered)
1797 struct btrfs_inode *inode = BTRFS_I(ordered->inode);
1806 if (test_bit(BTRFS_ORDERED_PREALLOC, &ordered->flags))
1809 ASSERT(!list_empty(&ordered->list));
1810 /* The ordered->list can be empty in the above pre-alloc case. */
1811 sum = list_first_entry(&ordered->list, struct btrfs_ordered_sum, list);
1815 while (len < ordered->disk_num_bytes) {
1821 if (!btrfs_zoned_split_ordered(ordered, logical, len)) {
1822 set_bit(BTRFS_ORDERED_IOERR, &ordered->flags);
1823 btrfs_err(fs_info, "failed to split ordered extent");
1830 if (ordered->disk_bytenr != logical)
1831 btrfs_rewrite_logical_zoned(ordered, logical);
1842 while ((sum = list_first_entry_or_null(&ordered->list,