Lines Matching refs:async_cow

359 struct async_cow {  struct
370 static noinline int add_async_extent(struct async_cow *cow, in add_async_extent() argument
440 struct async_cow *async_cow, in compress_file_range() argument
624 add_async_extent(async_cow, start, total_in, in compress_file_range()
671 add_async_extent(async_cow, start, end - start + 1, 0, NULL, 0, in compress_file_range()
708 struct async_cow *async_cow) in submit_compressed_extents() argument
720 while (!list_empty(&async_cow->extents)) { in submit_compressed_extents()
721 async_extent = list_entry(async_cow->extents.next, in submit_compressed_extents()
738 ret = cow_file_range(inode, async_cow->locked_page, in submit_compressed_extents()
762 unlock_page(async_cow->locked_page); in submit_compressed_extents()
849 async_cow->write_flags)) { in submit_compressed_extents()
1127 struct async_cow *async_cow; in async_cow_start() local
1129 async_cow = container_of(work, struct async_cow, work); in async_cow_start()
1131 compress_file_range(async_cow->inode, async_cow->locked_page, in async_cow_start()
1132 async_cow->start, async_cow->end, async_cow, in async_cow_start()
1135 btrfs_add_delayed_iput(async_cow->inode); in async_cow_start()
1136 async_cow->inode = NULL; in async_cow_start()
1146 struct async_cow *async_cow; in async_cow_submit() local
1150 async_cow = container_of(work, struct async_cow, work); in async_cow_submit()
1152 root = async_cow->root; in async_cow_submit()
1154 nr_pages = (async_cow->end - async_cow->start + PAGE_SIZE) >> in async_cow_submit()
1162 if (async_cow->inode) in async_cow_submit()
1163 submit_compressed_extents(async_cow->inode, async_cow); in async_cow_submit()
1168 struct async_cow *async_cow; in async_cow_free() local
1169 async_cow = container_of(work, struct async_cow, work); in async_cow_free()
1170 if (async_cow->inode) in async_cow_free()
1171 btrfs_add_delayed_iput(async_cow->inode); in async_cow_free()
1172 kfree(async_cow); in async_cow_free()
1181 struct async_cow *async_cow; in cow_file_range_async() local
1189 async_cow = kmalloc(sizeof(*async_cow), GFP_NOFS); in cow_file_range_async()
1190 BUG_ON(!async_cow); /* -ENOMEM */ in cow_file_range_async()
1191 async_cow->inode = igrab(inode); in cow_file_range_async()
1192 async_cow->root = root; in cow_file_range_async()
1193 async_cow->locked_page = locked_page; in cow_file_range_async()
1194 async_cow->start = start; in cow_file_range_async()
1195 async_cow->write_flags = write_flags; in cow_file_range_async()
1203 async_cow->end = cur_end; in cow_file_range_async()
1204 INIT_LIST_HEAD(&async_cow->extents); in cow_file_range_async()
1206 btrfs_init_work(&async_cow->work, in cow_file_range_async()
1215 btrfs_queue_work(fs_info->delalloc_workers, &async_cow->work); in cow_file_range_async()