Lines Matching refs:async_chunk

706 struct async_chunk {
720 struct async_chunk chunks[];
723 static noinline int add_async_extent(struct async_chunk *cow,
831 struct async_chunk *async_chunk =
832 container_of(work, struct async_chunk, work);
833 struct btrfs_inode *inode = async_chunk->inode;
837 u64 start = async_chunk->start;
838 u64 end = async_chunk->end;
1020 add_async_extent(async_chunk, start, total_in, total_compressed, pages,
1033 add_async_extent(async_chunk, start, end - start + 1, 0, NULL, 0,
1094 static void submit_one_async_extent(struct async_chunk *async_chunk,
1098 struct btrfs_inode *inode = async_chunk->inode;
1110 if (async_chunk->blkcg_css)
1111 kthread_associate_blkcg(async_chunk->blkcg_css);
1114 * If async_chunk->locked_page is in the async_extent range, we need to
1117 if (async_chunk->locked_page) {
1118 u64 locked_page_start = page_offset(async_chunk->locked_page);
1122 locked_page = async_chunk->locked_page;
1184 async_chunk->write_flags, true);
1187 if (async_chunk->blkcg_css)
1204 if (async_chunk->blkcg_css)
1571 struct async_chunk *async_chunk = container_of(work, struct async_chunk,
1578 nr_pages = (async_chunk->end - async_chunk->start + PAGE_SIZE) >>
1581 while (!list_empty(&async_chunk->extents)) {
1582 async_extent = list_entry(async_chunk->extents.next,
1585 submit_one_async_extent(async_chunk, async_extent, &alloc_hint);
1596 struct async_chunk *async_chunk;
1599 async_chunk = container_of(work, struct async_chunk, work);
1600 btrfs_add_delayed_iput(async_chunk->inode);
1601 if (async_chunk->blkcg_css)
1602 css_put(async_chunk->blkcg_css);
1604 async_cow = async_chunk->async_cow;
1616 struct async_chunk *async_chunk;
1632 async_chunk = ctx->chunks;
1643 async_chunk[i].async_cow = ctx;
1644 async_chunk[i].inode = inode;
1645 async_chunk[i].start = start;
1646 async_chunk[i].end = cur_end;
1647 async_chunk[i].write_flags = write_flags;
1648 INIT_LIST_HEAD(&async_chunk[i].extents);
1653 * this large delalloc region across multiple async_chunk
1671 async_chunk[i].locked_page = locked_page;
1674 async_chunk[i].locked_page = NULL;
1679 async_chunk[i].blkcg_css = blkcg_css;
1680 async_chunk[i].write_flags |= REQ_BTRFS_CGROUP_PUNT;
1682 async_chunk[i].blkcg_css = NULL;
1685 btrfs_init_work(&async_chunk[i].work, compress_file_range,
1691 btrfs_queue_work(fs_info->delalloc_workers, &async_chunk[i].work);