Lines Matching refs:async_extent
755 struct async_extent { struct
782 struct async_extent *async_extent; in add_async_extent() local
784 async_extent = kmalloc_obj(*async_extent, GFP_NOFS); in add_async_extent()
785 if (!async_extent) in add_async_extent()
788 async_extent->start = start; in add_async_extent()
789 async_extent->ram_size = ram_size; in add_async_extent()
790 async_extent->cb = cb; in add_async_extent()
791 list_add_tail(&async_extent->list, &cow->extents); in add_async_extent()
1105 struct async_extent *async_extent, in submit_uncompressed_range() argument
1108 u64 start = async_extent->start; in submit_uncompressed_range()
1109 u64 end = async_extent->start + async_extent->ram_size - 1; in submit_uncompressed_range()
1125 start, async_extent->ram_size); in submit_uncompressed_range()
1129 btrfs_ino(inode), start, async_extent->ram_size, ret); in submit_uncompressed_range()
1134 struct async_extent *async_extent, in submit_one_async_extent() argument
1149 u64 start = async_extent->start; in submit_one_async_extent()
1150 u64 end = async_extent->start + async_extent->ram_size - 1; in submit_one_async_extent()
1168 if (!async_extent->cb) { in submit_one_async_extent()
1169 submit_uncompressed_range(inode, async_extent, locked_folio); in submit_one_async_extent()
1173 compressed_size = async_extent->cb->bbio.bio.bi_iter.bi_size; in submit_one_async_extent()
1174 ret = btrfs_reserve_extent(root, async_extent->ram_size, in submit_one_async_extent()
1184 submit_uncompressed_range(inode, async_extent, locked_folio); in submit_one_async_extent()
1185 cleanup_compressed_bio(async_extent->cb); in submit_one_async_extent()
1186 async_extent->cb = NULL; in submit_one_async_extent()
1195 file_extent.ram_bytes = async_extent->ram_size; in submit_one_async_extent()
1196 file_extent.num_bytes = async_extent->ram_size; in submit_one_async_extent()
1198 file_extent.compression = async_extent->cb->compress_type; in submit_one_async_extent()
1200 async_extent->cb->bbio.bio.bi_iter.bi_sector = ins.objectid >> SECTOR_SHIFT; in submit_one_async_extent()
1216 async_extent->cb->bbio.ordered = ordered; in submit_one_async_extent()
1223 btrfs_submit_bbio(&async_extent->cb->bbio, 0); in submit_one_async_extent()
1224 async_extent->cb = NULL; in submit_one_async_extent()
1230 kfree(async_extent); in submit_one_async_extent()
1244 if (async_extent->cb) in submit_one_async_extent()
1245 cleanup_compressed_bio(async_extent->cb); in submit_one_async_extent()
1251 async_extent->ram_size, ret); in submit_one_async_extent()
1252 kfree(async_extent); in submit_one_async_extent()
1662 struct async_extent *async_extent; in submit_compressed_extents() local
1683 async_extent = list_first_entry(&async_chunk->extents, in submit_compressed_extents()
1684 struct async_extent, list); in submit_compressed_extents()
1685 list_del(&async_extent->list); in submit_compressed_extents()
1686 submit_one_async_extent(async_chunk, async_extent, &alloc_hint); in submit_compressed_extents()