Lines Matching refs:async_extent

696 struct async_extent {  struct
730 struct async_extent *async_extent; in add_async_extent() local
732 async_extent = kmalloc(sizeof(*async_extent), GFP_NOFS); in add_async_extent()
733 BUG_ON(!async_extent); /* -ENOMEM */ in add_async_extent()
734 async_extent->start = start; in add_async_extent()
735 async_extent->ram_size = ram_size; in add_async_extent()
736 async_extent->compressed_size = compressed_size; in add_async_extent()
737 async_extent->pages = pages; in add_async_extent()
738 async_extent->nr_pages = nr_pages; in add_async_extent()
739 async_extent->compress_type = compress_type; in add_async_extent()
740 list_add_tail(&async_extent->list, &cow->extents); in add_async_extent()
1045 static void free_async_extent_pages(struct async_extent *async_extent) in free_async_extent_pages() argument
1049 if (!async_extent->pages) in free_async_extent_pages()
1052 for (i = 0; i < async_extent->nr_pages; i++) { in free_async_extent_pages()
1053 WARN_ON(async_extent->pages[i]->mapping); in free_async_extent_pages()
1054 put_page(async_extent->pages[i]); in free_async_extent_pages()
1056 kfree(async_extent->pages); in free_async_extent_pages()
1057 async_extent->nr_pages = 0; in free_async_extent_pages()
1058 async_extent->pages = NULL; in free_async_extent_pages()
1062 struct async_extent *async_extent, in submit_uncompressed_range() argument
1065 u64 start = async_extent->start; in submit_uncompressed_range()
1066 u64 end = async_extent->start + async_extent->ram_size - 1; in submit_uncompressed_range()
1095 struct async_extent *async_extent, in submit_one_async_extent() argument
1107 u64 start = async_extent->start; in submit_one_async_extent()
1108 u64 end = async_extent->start + async_extent->ram_size - 1; in submit_one_async_extent()
1126 if (async_extent->compress_type == BTRFS_COMPRESS_NONE) { in submit_one_async_extent()
1127 submit_uncompressed_range(inode, async_extent, locked_page); in submit_one_async_extent()
1131 ret = btrfs_reserve_extent(root, async_extent->ram_size, in submit_one_async_extent()
1132 async_extent->compressed_size, in submit_one_async_extent()
1133 async_extent->compressed_size, in submit_one_async_extent()
1148 async_extent->ram_size, /* len */ in submit_one_async_extent()
1153 async_extent->ram_size, /* ram_bytes */ in submit_one_async_extent()
1154 async_extent->compress_type, in submit_one_async_extent()
1163 async_extent->ram_size, /* num_bytes */ in submit_one_async_extent()
1164 async_extent->ram_size, /* ram_bytes */ in submit_one_async_extent()
1169 async_extent->compress_type); in submit_one_async_extent()
1182 async_extent->pages, /* compressed_pages */ in submit_one_async_extent()
1183 async_extent->nr_pages, in submit_one_async_extent()
1189 kfree(async_extent); in submit_one_async_extent()
1203 free_async_extent_pages(async_extent); in submit_one_async_extent()
1209 async_extent->ram_size, ret); in submit_one_async_extent()
1210 kfree(async_extent); in submit_one_async_extent()
1574 struct async_extent *async_extent; in submit_compressed_extents() local
1582 async_extent = list_entry(async_chunk->extents.next, in submit_compressed_extents()
1583 struct async_extent, list); in submit_compressed_extents()
1584 list_del(&async_extent->list); in submit_compressed_extents()
1585 submit_one_async_extent(async_chunk, async_extent, &alloc_hint); in submit_compressed_extents()