io_ctl            931 fs/btrfs/block-group.c 		WARN_ON(!IS_ERR(inode) && inode != block_group->io_ctl.inode);
io_ctl           2418 fs/btrfs/block-group.c 			cache->io_ctl.inode = NULL;
io_ctl           2420 fs/btrfs/block-group.c 			if (ret == 0 && cache->io_ctl.inode) {
io_ctl           2573 fs/btrfs/block-group.c 			cache->io_ctl.inode = NULL;
io_ctl           2575 fs/btrfs/block-group.c 			if (ret == 0 && cache->io_ctl.inode) {
io_ctl           3081 fs/btrfs/block-group.c 		ASSERT(block_group->io_ctl.inode == NULL);
io_ctl            124 fs/btrfs/block-group.h 	struct btrfs_io_ctl io_ctl;
io_ctl           4466 fs/btrfs/disk-io.c 	inode = cache->io_ctl.inode;
io_ctl           4470 fs/btrfs/disk-io.c 		cache->io_ctl.inode = NULL;
io_ctl             40 fs/btrfs/free-space-cache.c 			     struct btrfs_io_ctl *io_ctl,
io_ctl            300 fs/btrfs/free-space-cache.c static int io_ctl_init(struct btrfs_io_ctl *io_ctl, struct inode *inode,
io_ctl            316 fs/btrfs/free-space-cache.c 	memset(io_ctl, 0, sizeof(struct btrfs_io_ctl));
io_ctl            318 fs/btrfs/free-space-cache.c 	io_ctl->pages = kcalloc(num_pages, sizeof(struct page *), GFP_NOFS);
io_ctl            319 fs/btrfs/free-space-cache.c 	if (!io_ctl->pages)
io_ctl            322 fs/btrfs/free-space-cache.c 	io_ctl->num_pages = num_pages;
io_ctl            323 fs/btrfs/free-space-cache.c 	io_ctl->fs_info = btrfs_sb(inode->i_sb);
io_ctl            324 fs/btrfs/free-space-cache.c 	io_ctl->check_crcs = check_crcs;
io_ctl            325 fs/btrfs/free-space-cache.c 	io_ctl->inode = inode;
io_ctl            331 fs/btrfs/free-space-cache.c static void io_ctl_free(struct btrfs_io_ctl *io_ctl)
io_ctl            333 fs/btrfs/free-space-cache.c 	kfree(io_ctl->pages);
io_ctl            334 fs/btrfs/free-space-cache.c 	io_ctl->pages = NULL;
io_ctl            337 fs/btrfs/free-space-cache.c static void io_ctl_unmap_page(struct btrfs_io_ctl *io_ctl)
io_ctl            339 fs/btrfs/free-space-cache.c 	if (io_ctl->cur) {
io_ctl            340 fs/btrfs/free-space-cache.c 		io_ctl->cur = NULL;
io_ctl            341 fs/btrfs/free-space-cache.c 		io_ctl->orig = NULL;
io_ctl            345 fs/btrfs/free-space-cache.c static void io_ctl_map_page(struct btrfs_io_ctl *io_ctl, int clear)
io_ctl            347 fs/btrfs/free-space-cache.c 	ASSERT(io_ctl->index < io_ctl->num_pages);
io_ctl            348 fs/btrfs/free-space-cache.c 	io_ctl->page = io_ctl->pages[io_ctl->index++];
io_ctl            349 fs/btrfs/free-space-cache.c 	io_ctl->cur = page_address(io_ctl->page);
io_ctl            350 fs/btrfs/free-space-cache.c 	io_ctl->orig = io_ctl->cur;
io_ctl            351 fs/btrfs/free-space-cache.c 	io_ctl->size = PAGE_SIZE;
io_ctl            353 fs/btrfs/free-space-cache.c 		clear_page(io_ctl->cur);
io_ctl            356 fs/btrfs/free-space-cache.c static void io_ctl_drop_pages(struct btrfs_io_ctl *io_ctl)
io_ctl            360 fs/btrfs/free-space-cache.c 	io_ctl_unmap_page(io_ctl);
io_ctl            362 fs/btrfs/free-space-cache.c 	for (i = 0; i < io_ctl->num_pages; i++) {
io_ctl            363 fs/btrfs/free-space-cache.c 		if (io_ctl->pages[i]) {
io_ctl            364 fs/btrfs/free-space-cache.c 			ClearPageChecked(io_ctl->pages[i]);
io_ctl            365 fs/btrfs/free-space-cache.c 			unlock_page(io_ctl->pages[i]);
io_ctl            366 fs/btrfs/free-space-cache.c 			put_page(io_ctl->pages[i]);
io_ctl            371 fs/btrfs/free-space-cache.c static int io_ctl_prepare_pages(struct btrfs_io_ctl *io_ctl, struct inode *inode,
io_ctl            378 fs/btrfs/free-space-cache.c 	for (i = 0; i < io_ctl->num_pages; i++) {
io_ctl            381 fs/btrfs/free-space-cache.c 			io_ctl_drop_pages(io_ctl);
io_ctl            384 fs/btrfs/free-space-cache.c 		io_ctl->pages[i] = page;
io_ctl            391 fs/btrfs/free-space-cache.c 				io_ctl_drop_pages(io_ctl);
io_ctl            397 fs/btrfs/free-space-cache.c 				io_ctl_drop_pages(io_ctl);
io_ctl            403 fs/btrfs/free-space-cache.c 	for (i = 0; i < io_ctl->num_pages; i++) {
io_ctl            404 fs/btrfs/free-space-cache.c 		clear_page_dirty_for_io(io_ctl->pages[i]);
io_ctl            405 fs/btrfs/free-space-cache.c 		set_page_extent_mapped(io_ctl->pages[i]);
io_ctl            411 fs/btrfs/free-space-cache.c static void io_ctl_set_generation(struct btrfs_io_ctl *io_ctl, u64 generation)
io_ctl            415 fs/btrfs/free-space-cache.c 	io_ctl_map_page(io_ctl, 1);
io_ctl            421 fs/btrfs/free-space-cache.c 	if (io_ctl->check_crcs) {
io_ctl            422 fs/btrfs/free-space-cache.c 		io_ctl->cur += (sizeof(u32) * io_ctl->num_pages);
io_ctl            423 fs/btrfs/free-space-cache.c 		io_ctl->size -= sizeof(u64) + (sizeof(u32) * io_ctl->num_pages);
io_ctl            425 fs/btrfs/free-space-cache.c 		io_ctl->cur += sizeof(u64);
io_ctl            426 fs/btrfs/free-space-cache.c 		io_ctl->size -= sizeof(u64) * 2;
io_ctl            429 fs/btrfs/free-space-cache.c 	val = io_ctl->cur;
io_ctl            431 fs/btrfs/free-space-cache.c 	io_ctl->cur += sizeof(u64);
io_ctl            434 fs/btrfs/free-space-cache.c static int io_ctl_check_generation(struct btrfs_io_ctl *io_ctl, u64 generation)
io_ctl            442 fs/btrfs/free-space-cache.c 	if (io_ctl->check_crcs) {
io_ctl            443 fs/btrfs/free-space-cache.c 		io_ctl->cur += sizeof(u32) * io_ctl->num_pages;
io_ctl            444 fs/btrfs/free-space-cache.c 		io_ctl->size -= sizeof(u64) +
io_ctl            445 fs/btrfs/free-space-cache.c 			(sizeof(u32) * io_ctl->num_pages);
io_ctl            447 fs/btrfs/free-space-cache.c 		io_ctl->cur += sizeof(u64);
io_ctl            448 fs/btrfs/free-space-cache.c 		io_ctl->size -= sizeof(u64) * 2;
io_ctl            451 fs/btrfs/free-space-cache.c 	gen = io_ctl->cur;
io_ctl            453 fs/btrfs/free-space-cache.c 		btrfs_err_rl(io_ctl->fs_info,
io_ctl            456 fs/btrfs/free-space-cache.c 		io_ctl_unmap_page(io_ctl);
io_ctl            459 fs/btrfs/free-space-cache.c 	io_ctl->cur += sizeof(u64);
io_ctl            463 fs/btrfs/free-space-cache.c static void io_ctl_set_crc(struct btrfs_io_ctl *io_ctl, int index)
io_ctl            469 fs/btrfs/free-space-cache.c 	if (!io_ctl->check_crcs) {
io_ctl            470 fs/btrfs/free-space-cache.c 		io_ctl_unmap_page(io_ctl);
io_ctl            475 fs/btrfs/free-space-cache.c 		offset = sizeof(u32) * io_ctl->num_pages;
io_ctl            477 fs/btrfs/free-space-cache.c 	crc = btrfs_crc32c(crc, io_ctl->orig + offset, PAGE_SIZE - offset);
io_ctl            479 fs/btrfs/free-space-cache.c 	io_ctl_unmap_page(io_ctl);
io_ctl            480 fs/btrfs/free-space-cache.c 	tmp = page_address(io_ctl->pages[0]);
io_ctl            485 fs/btrfs/free-space-cache.c static int io_ctl_check_crc(struct btrfs_io_ctl *io_ctl, int index)
io_ctl            491 fs/btrfs/free-space-cache.c 	if (!io_ctl->check_crcs) {
io_ctl            492 fs/btrfs/free-space-cache.c 		io_ctl_map_page(io_ctl, 0);
io_ctl            497 fs/btrfs/free-space-cache.c 		offset = sizeof(u32) * io_ctl->num_pages;
io_ctl            499 fs/btrfs/free-space-cache.c 	tmp = page_address(io_ctl->pages[0]);
io_ctl            503 fs/btrfs/free-space-cache.c 	io_ctl_map_page(io_ctl, 0);
io_ctl            504 fs/btrfs/free-space-cache.c 	crc = btrfs_crc32c(crc, io_ctl->orig + offset, PAGE_SIZE - offset);
io_ctl            507 fs/btrfs/free-space-cache.c 		btrfs_err_rl(io_ctl->fs_info,
io_ctl            509 fs/btrfs/free-space-cache.c 		io_ctl_unmap_page(io_ctl);
io_ctl            516 fs/btrfs/free-space-cache.c static int io_ctl_add_entry(struct btrfs_io_ctl *io_ctl, u64 offset, u64 bytes,
io_ctl            521 fs/btrfs/free-space-cache.c 	if (!io_ctl->cur)
io_ctl            524 fs/btrfs/free-space-cache.c 	entry = io_ctl->cur;
io_ctl            529 fs/btrfs/free-space-cache.c 	io_ctl->cur += sizeof(struct btrfs_free_space_entry);
io_ctl            530 fs/btrfs/free-space-cache.c 	io_ctl->size -= sizeof(struct btrfs_free_space_entry);
io_ctl            532 fs/btrfs/free-space-cache.c 	if (io_ctl->size >= sizeof(struct btrfs_free_space_entry))
io_ctl            535 fs/btrfs/free-space-cache.c 	io_ctl_set_crc(io_ctl, io_ctl->index - 1);
io_ctl            538 fs/btrfs/free-space-cache.c 	if (io_ctl->index >= io_ctl->num_pages)
io_ctl            542 fs/btrfs/free-space-cache.c 	io_ctl_map_page(io_ctl, 1);
io_ctl            546 fs/btrfs/free-space-cache.c static int io_ctl_add_bitmap(struct btrfs_io_ctl *io_ctl, void *bitmap)
io_ctl            548 fs/btrfs/free-space-cache.c 	if (!io_ctl->cur)
io_ctl            555 fs/btrfs/free-space-cache.c 	if (io_ctl->cur != io_ctl->orig) {
io_ctl            556 fs/btrfs/free-space-cache.c 		io_ctl_set_crc(io_ctl, io_ctl->index - 1);
io_ctl            557 fs/btrfs/free-space-cache.c 		if (io_ctl->index >= io_ctl->num_pages)
io_ctl            559 fs/btrfs/free-space-cache.c 		io_ctl_map_page(io_ctl, 0);
io_ctl            562 fs/btrfs/free-space-cache.c 	copy_page(io_ctl->cur, bitmap);
io_ctl            563 fs/btrfs/free-space-cache.c 	io_ctl_set_crc(io_ctl, io_ctl->index - 1);
io_ctl            564 fs/btrfs/free-space-cache.c 	if (io_ctl->index < io_ctl->num_pages)
io_ctl            565 fs/btrfs/free-space-cache.c 		io_ctl_map_page(io_ctl, 0);
io_ctl            569 fs/btrfs/free-space-cache.c static void io_ctl_zero_remaining_pages(struct btrfs_io_ctl *io_ctl)
io_ctl            575 fs/btrfs/free-space-cache.c 	if (io_ctl->cur != io_ctl->orig)
io_ctl            576 fs/btrfs/free-space-cache.c 		io_ctl_set_crc(io_ctl, io_ctl->index - 1);
io_ctl            578 fs/btrfs/free-space-cache.c 		io_ctl_unmap_page(io_ctl);
io_ctl            580 fs/btrfs/free-space-cache.c 	while (io_ctl->index < io_ctl->num_pages) {
io_ctl            581 fs/btrfs/free-space-cache.c 		io_ctl_map_page(io_ctl, 1);
io_ctl            582 fs/btrfs/free-space-cache.c 		io_ctl_set_crc(io_ctl, io_ctl->index - 1);
io_ctl            586 fs/btrfs/free-space-cache.c static int io_ctl_read_entry(struct btrfs_io_ctl *io_ctl,
io_ctl            592 fs/btrfs/free-space-cache.c 	if (!io_ctl->cur) {
io_ctl            593 fs/btrfs/free-space-cache.c 		ret = io_ctl_check_crc(io_ctl, io_ctl->index);
io_ctl            598 fs/btrfs/free-space-cache.c 	e = io_ctl->cur;
io_ctl            602 fs/btrfs/free-space-cache.c 	io_ctl->cur += sizeof(struct btrfs_free_space_entry);
io_ctl            603 fs/btrfs/free-space-cache.c 	io_ctl->size -= sizeof(struct btrfs_free_space_entry);
io_ctl            605 fs/btrfs/free-space-cache.c 	if (io_ctl->size >= sizeof(struct btrfs_free_space_entry))
io_ctl            608 fs/btrfs/free-space-cache.c 	io_ctl_unmap_page(io_ctl);
io_ctl            613 fs/btrfs/free-space-cache.c static int io_ctl_read_bitmap(struct btrfs_io_ctl *io_ctl,
io_ctl            618 fs/btrfs/free-space-cache.c 	ret = io_ctl_check_crc(io_ctl, io_ctl->index);
io_ctl            622 fs/btrfs/free-space-cache.c 	copy_page(entry->bitmap, io_ctl->cur);
io_ctl            623 fs/btrfs/free-space-cache.c 	io_ctl_unmap_page(io_ctl);
io_ctl            673 fs/btrfs/free-space-cache.c 	struct btrfs_io_ctl io_ctl;
io_ctl            726 fs/btrfs/free-space-cache.c 	ret = io_ctl_init(&io_ctl, inode, 0);
io_ctl            732 fs/btrfs/free-space-cache.c 	ret = io_ctl_prepare_pages(&io_ctl, inode, 1);
io_ctl            736 fs/btrfs/free-space-cache.c 	ret = io_ctl_check_crc(&io_ctl, 0);
io_ctl            740 fs/btrfs/free-space-cache.c 	ret = io_ctl_check_generation(&io_ctl, generation);
io_ctl            750 fs/btrfs/free-space-cache.c 		ret = io_ctl_read_entry(&io_ctl, e, &type);
io_ctl            798 fs/btrfs/free-space-cache.c 	io_ctl_unmap_page(&io_ctl);
io_ctl            806 fs/btrfs/free-space-cache.c 		ret = io_ctl_read_bitmap(&io_ctl, e);
io_ctl            811 fs/btrfs/free-space-cache.c 	io_ctl_drop_pages(&io_ctl);
io_ctl            815 fs/btrfs/free-space-cache.c 	io_ctl_free(&io_ctl);
io_ctl            818 fs/btrfs/free-space-cache.c 	io_ctl_drop_pages(&io_ctl);
io_ctl            920 fs/btrfs/free-space-cache.c int write_cache_extent_entries(struct btrfs_io_ctl *io_ctl,
io_ctl            953 fs/btrfs/free-space-cache.c 		ret = io_ctl_add_entry(io_ctl, e->offset, e->bytes,
io_ctl            982 fs/btrfs/free-space-cache.c 		ret = io_ctl_add_entry(io_ctl, trim_entry->start,
io_ctl           1051 fs/btrfs/free-space-cache.c 			    struct btrfs_io_ctl *io_ctl,
io_ctl           1090 fs/btrfs/free-space-cache.c 		ret = io_ctl_add_entry(io_ctl, extent_start, len, NULL);
io_ctl           1101 fs/btrfs/free-space-cache.c write_bitmap_entries(struct btrfs_io_ctl *io_ctl, struct list_head *bitmap_list)
io_ctl           1108 fs/btrfs/free-space-cache.c 		ret = io_ctl_add_bitmap(io_ctl, entry->bitmap);
io_ctl           1140 fs/btrfs/free-space-cache.c 			   struct btrfs_io_ctl *io_ctl,
io_ctl           1143 fs/btrfs/free-space-cache.c 	io_ctl_drop_pages(io_ctl);
io_ctl           1151 fs/btrfs/free-space-cache.c 				 struct btrfs_io_ctl *io_ctl,
io_ctl           1155 fs/btrfs/free-space-cache.c 	struct inode *inode = io_ctl->inode;
io_ctl           1167 fs/btrfs/free-space-cache.c 				io_ctl->entries, io_ctl->bitmaps);
io_ctl           1169 fs/btrfs/free-space-cache.c 	io_ctl_free(io_ctl);
io_ctl           1202 fs/btrfs/free-space-cache.c 		io_ctl->inode = NULL;
io_ctl           1212 fs/btrfs/free-space-cache.c 				    struct btrfs_io_ctl *io_ctl,
io_ctl           1215 fs/btrfs/free-space-cache.c 	return __btrfs_wait_cache_io(root, trans, NULL, io_ctl, path, 0);
io_ctl           1223 fs/btrfs/free-space-cache.c 				     block_group, &block_group->io_ctl,
io_ctl           1241 fs/btrfs/free-space-cache.c 				   struct btrfs_io_ctl *io_ctl,
io_ctl           1254 fs/btrfs/free-space-cache.c 	WARN_ON(io_ctl->pages);
io_ctl           1255 fs/btrfs/free-space-cache.c 	ret = io_ctl_init(io_ctl, inode, 1);
io_ctl           1275 fs/btrfs/free-space-cache.c 	ret = io_ctl_prepare_pages(io_ctl, inode, 0);
io_ctl           1282 fs/btrfs/free-space-cache.c 	io_ctl_set_generation(io_ctl, trans->transid);
io_ctl           1287 fs/btrfs/free-space-cache.c 	ret = write_cache_extent_entries(io_ctl, ctl,
io_ctl           1301 fs/btrfs/free-space-cache.c 	ret = write_pinned_extent_entries(block_group, io_ctl, &entries);
io_ctl           1310 fs/btrfs/free-space-cache.c 	ret = write_bitmap_entries(io_ctl, &bitmap_list);
io_ctl           1317 fs/btrfs/free-space-cache.c 	io_ctl_zero_remaining_pages(io_ctl);
io_ctl           1320 fs/btrfs/free-space-cache.c 	ret = btrfs_dirty_pages(inode, io_ctl->pages, io_ctl->num_pages, 0,
io_ctl           1331 fs/btrfs/free-space-cache.c 	io_ctl_drop_pages(io_ctl);
io_ctl           1341 fs/btrfs/free-space-cache.c 	io_ctl->entries = entries;
io_ctl           1342 fs/btrfs/free-space-cache.c 	io_ctl->bitmaps = bitmaps;
io_ctl           1351 fs/btrfs/free-space-cache.c 	io_ctl->inode = NULL;
io_ctl           1352 fs/btrfs/free-space-cache.c 	io_ctl_free(io_ctl);
io_ctl           1368 fs/btrfs/free-space-cache.c 	cleanup_write_cache_enospc(inode, io_ctl, &cached_state);
io_ctl           1398 fs/btrfs/free-space-cache.c 				block_group, &block_group->io_ctl, trans);
io_ctl           1409 fs/btrfs/free-space-cache.c 		block_group->io_ctl.inode = NULL;
io_ctl           3559 fs/btrfs/free-space-cache.c 	struct btrfs_io_ctl io_ctl;
io_ctl           3565 fs/btrfs/free-space-cache.c 	memset(&io_ctl, 0, sizeof(io_ctl));
io_ctl           3566 fs/btrfs/free-space-cache.c 	ret = __btrfs_write_out_cache(root, inode, ctl, NULL, &io_ctl, trans);
io_ctl           3575 fs/btrfs/free-space-cache.c 		ret = btrfs_wait_cache_io_root(root, trans, &io_ctl, path);