fs_info 120 arch/s390/hypfs/inode.c struct hypfs_sb_info *fs_info; fs_info 131 arch/s390/hypfs/inode.c fs_info = inode->i_sb->s_fs_info; fs_info 133 arch/s390/hypfs/inode.c mutex_lock(&fs_info->lock); fs_info 136 arch/s390/hypfs/inode.c mutex_unlock(&fs_info->lock); fs_info 139 arch/s390/hypfs/inode.c mutex_unlock(&fs_info->lock); fs_info 168 arch/s390/hypfs/inode.c struct hypfs_sb_info *fs_info = sb->s_fs_info; fs_info 181 arch/s390/hypfs/inode.c mutex_lock(&fs_info->lock); fs_info 182 arch/s390/hypfs/inode.c if (fs_info->last_update == ktime_get_seconds()) { fs_info 200 arch/s390/hypfs/inode.c mutex_unlock(&fs_info->lock); fs_info 4426 drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c struct ras_fs_if fs_info = { fs_info 4490 drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c fs_info.head = **ras_if; fs_info 4496 drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c amdgpu_ras_debugfs_create(adev, &fs_info); fs_info 4498 drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c r = amdgpu_ras_sysfs_create(adev, &fs_info); fs_info 839 drivers/gpu/drm/amd/amdgpu/gmc_v9_0.c struct ras_fs_if *fs_info, struct ras_common_if *ras_block) fs_info 898 drivers/gpu/drm/amd/amdgpu/gmc_v9_0.c fs_info->head = **ras_if; fs_info 906 drivers/gpu/drm/amd/amdgpu/gmc_v9_0.c amdgpu_ras_debugfs_create(adev, fs_info); fs_info 908 drivers/gpu/drm/amd/amdgpu/gmc_v9_0.c r = amdgpu_ras_sysfs_create(adev, fs_info); fs_info 1704 drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c struct ras_fs_if fs_info = { fs_info 1759 drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c fs_info.head = **ras_if; fs_info 1765 drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c amdgpu_ras_debugfs_create(adev, &fs_info); fs_info 1767 drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c r = amdgpu_ras_sysfs_create(adev, &fs_info); fs_info 709 drivers/staging/exfat/exfat.h struct fs_info_t fs_info; fs_info 37 drivers/staging/exfat/exfat_blkdev.c struct fs_info_t *p_fs = &(EXFAT_SB(sb)->fs_info); fs_info 74 drivers/staging/exfat/exfat_blkdev.c struct fs_info_t *p_fs = &(EXFAT_SB(sb)->fs_info); fs_info 22 drivers/staging/exfat/exfat_cache.c struct fs_info_t *p_fs = &(EXFAT_SB(sb)->fs_info); fs_info 73 drivers/staging/exfat/exfat_cache.c struct fs_info_t *p_fs = &(EXFAT_SB(sb)->fs_info); fs_info 88 drivers/staging/exfat/exfat_cache.c p_fs = &(EXFAT_SB(sb)->fs_info); fs_info 113 drivers/staging/exfat/exfat_cache.c p_fs = &(EXFAT_SB(sb)->fs_info); fs_info 133 drivers/staging/exfat/exfat_cache.c struct fs_info_t *p_fs = &(EXFAT_SB(sb)->fs_info); fs_info 202 drivers/staging/exfat/exfat_cache.c struct fs_info_t *p_fs = &(EXFAT_SB(sb)->fs_info); fs_info 330 drivers/staging/exfat/exfat_cache.c struct fs_info_t *p_fs = &(EXFAT_SB(sb)->fs_info); fs_info 447 drivers/staging/exfat/exfat_cache.c struct fs_info_t *p_fs = &(EXFAT_SB(sb)->fs_info); fs_info 491 drivers/staging/exfat/exfat_cache.c struct fs_info_t *p_fs = &(EXFAT_SB(sb)->fs_info); fs_info 516 drivers/staging/exfat/exfat_cache.c struct fs_info_t *p_fs = &(EXFAT_SB(sb)->fs_info); fs_info 536 drivers/staging/exfat/exfat_cache.c struct fs_info_t *p_fs = &(EXFAT_SB(sb)->fs_info); fs_info 554 drivers/staging/exfat/exfat_cache.c struct fs_info_t *p_fs = &(EXFAT_SB(sb)->fs_info); fs_info 567 drivers/staging/exfat/exfat_cache.c struct fs_info_t *p_fs = &(EXFAT_SB(sb)->fs_info); fs_info 661 drivers/staging/exfat/exfat_cache.c struct fs_info_t *p_fs = &(EXFAT_SB(sb)->fs_info); fs_info 685 drivers/staging/exfat/exfat_cache.c struct fs_info_t *p_fs = &(EXFAT_SB(sb)->fs_info); fs_info 710 drivers/staging/exfat/exfat_cache.c struct fs_info_t *p_fs = &(EXFAT_SB(sb)->fs_info); fs_info 95 drivers/staging/exfat/exfat_core.c struct fs_info_t *p_fs = &(EXFAT_SB(sb)->fs_info); fs_info 144 drivers/staging/exfat/exfat_core.c struct fs_info_t *p_fs = &(EXFAT_SB(sb)->fs_info); fs_info 175 drivers/staging/exfat/exfat_core.c struct fs_info_t *p_fs = &(EXFAT_SB(sb)->fs_info); fs_info 229 drivers/staging/exfat/exfat_core.c struct fs_info_t *p_fs = &(EXFAT_SB(sb)->fs_info); fs_info 308 drivers/staging/exfat/exfat_core.c struct fs_info_t *p_fs = &(EXFAT_SB(sb)->fs_info); fs_info 349 drivers/staging/exfat/exfat_core.c struct fs_info_t *p_fs = &(EXFAT_SB(sb)->fs_info); fs_info 406 drivers/staging/exfat/exfat_core.c struct fs_info_t *p_fs = &(EXFAT_SB(sb)->fs_info); fs_info 428 drivers/staging/exfat/exfat_core.c struct fs_info_t *p_fs = &(EXFAT_SB(sb)->fs_info); fs_info 454 drivers/staging/exfat/exfat_core.c struct fs_info_t *p_fs = &(EXFAT_SB(sb)->fs_info); fs_info 470 drivers/staging/exfat/exfat_core.c struct fs_info_t *p_fs = &(EXFAT_SB(sb)->fs_info); fs_info 514 drivers/staging/exfat/exfat_core.c struct fs_info_t *p_fs = &(EXFAT_SB(sb)->fs_info); fs_info 581 drivers/staging/exfat/exfat_core.c struct fs_info_t *p_fs = &(EXFAT_SB(sb)->fs_info); fs_info 596 drivers/staging/exfat/exfat_core.c struct fs_info_t *p_fs = &(EXFAT_SB(sb)->fs_info); fs_info 618 drivers/staging/exfat/exfat_core.c struct fs_info_t *p_fs = &(EXFAT_SB(sb)->fs_info); fs_info 648 drivers/staging/exfat/exfat_core.c struct fs_info_t *p_fs = &(EXFAT_SB(sb)->fs_info); fs_info 686 drivers/staging/exfat/exfat_core.c struct fs_info_t *p_fs = &(EXFAT_SB(sb)->fs_info); fs_info 703 drivers/staging/exfat/exfat_core.c struct fs_info_t *p_fs = &(EXFAT_SB(sb)->fs_info); fs_info 788 drivers/staging/exfat/exfat_core.c struct fs_info_t *p_fs = &(EXFAT_SB(sb)->fs_info); fs_info 851 drivers/staging/exfat/exfat_core.c struct fs_info_t *p_fs = &(EXFAT_SB(sb)->fs_info); fs_info 894 drivers/staging/exfat/exfat_core.c struct fs_info_t *p_fs = &(EXFAT_SB(sb)->fs_info); fs_info 1492 drivers/staging/exfat/exfat_core.c struct fs_info_t *p_fs = &(EXFAT_SB(sb)->fs_info); fs_info 1510 drivers/staging/exfat/exfat_core.c struct fs_info_t *p_fs = &(EXFAT_SB(sb)->fs_info); fs_info 1582 drivers/staging/exfat/exfat_core.c struct fs_info_t *p_fs = &(EXFAT_SB(sb)->fs_info); fs_info 1609 drivers/staging/exfat/exfat_core.c struct fs_info_t *p_fs = &(EXFAT_SB(sb)->fs_info); fs_info 1696 drivers/staging/exfat/exfat_core.c struct fs_info_t *p_fs = &(EXFAT_SB(sb)->fs_info); fs_info 1859 drivers/staging/exfat/exfat_core.c struct fs_info_t *p_fs = &(EXFAT_SB(sb)->fs_info); fs_info 1927 drivers/staging/exfat/exfat_core.c struct fs_info_t *p_fs = &(EXFAT_SB(sb)->fs_info); fs_info 1968 drivers/staging/exfat/exfat_core.c struct fs_info_t *p_fs = &(EXFAT_SB(sb)->fs_info); fs_info 2063 drivers/staging/exfat/exfat_core.c struct fs_info_t *p_fs = &(EXFAT_SB(sb)->fs_info); fs_info 2159 drivers/staging/exfat/exfat_core.c struct fs_info_t *p_fs = &(EXFAT_SB(sb)->fs_info); fs_info 2258 drivers/staging/exfat/exfat_core.c struct fs_info_t *p_fs = &(EXFAT_SB(sb)->fs_info); fs_info 2393 drivers/staging/exfat/exfat_core.c struct fs_info_t *p_fs = &(EXFAT_SB(sb)->fs_info); fs_info 2423 drivers/staging/exfat/exfat_core.c struct fs_info_t *p_fs = &(EXFAT_SB(sb)->fs_info); fs_info 2448 drivers/staging/exfat/exfat_core.c struct fs_info_t *p_fs = &(EXFAT_SB(sb)->fs_info); fs_info 2504 drivers/staging/exfat/exfat_core.c struct fs_info_t *p_fs = &(EXFAT_SB(sb)->fs_info); fs_info 2570 drivers/staging/exfat/exfat_core.c struct fs_info_t *p_fs = &(EXFAT_SB(sb)->fs_info); fs_info 2623 drivers/staging/exfat/exfat_core.c struct fs_info_t *p_fs = &(EXFAT_SB(sb)->fs_info); fs_info 2651 drivers/staging/exfat/exfat_core.c struct fs_info_t *p_fs = &(EXFAT_SB(sb)->fs_info); fs_info 2753 drivers/staging/exfat/exfat_core.c struct fs_info_t *p_fs = &(EXFAT_SB(sb)->fs_info); fs_info 2961 drivers/staging/exfat/exfat_core.c struct fs_info_t *p_fs = &(EXFAT_SB(sb)->fs_info); fs_info 3014 drivers/staging/exfat/exfat_core.c struct fs_info_t *p_fs = &(EXFAT_SB(sb)->fs_info); fs_info 3076 drivers/staging/exfat/exfat_core.c struct fs_info_t *p_fs = &(EXFAT_SB(sb)->fs_info); fs_info 3155 drivers/staging/exfat/exfat_core.c struct fs_info_t *p_fs = &(EXFAT_SB(sb)->fs_info); fs_info 3208 drivers/staging/exfat/exfat_core.c struct fs_info_t *p_fs = &(EXFAT_SB(sb)->fs_info); fs_info 3311 drivers/staging/exfat/exfat_core.c struct fs_info_t *p_fs = &(EXFAT_SB(sb)->fs_info); fs_info 3361 drivers/staging/exfat/exfat_core.c struct fs_info_t *p_fs = &(EXFAT_SB(sb)->fs_info); fs_info 3392 drivers/staging/exfat/exfat_core.c struct fs_info_t *p_fs = &(EXFAT_SB(sb)->fs_info); fs_info 3499 drivers/staging/exfat/exfat_core.c struct fs_info_t *p_fs = &(EXFAT_SB(sb)->fs_info); fs_info 3604 drivers/staging/exfat/exfat_core.c struct fs_info_t *p_fs = &(EXFAT_SB(sb)->fs_info); fs_info 3627 drivers/staging/exfat/exfat_core.c struct fs_info_t *p_fs = &(EXFAT_SB(sb)->fs_info); fs_info 3656 drivers/staging/exfat/exfat_core.c struct fs_info_t *p_fs = &(EXFAT_SB(sb)->fs_info); fs_info 3679 drivers/staging/exfat/exfat_core.c struct fs_info_t *p_fs = &(EXFAT_SB(sb)->fs_info); fs_info 79 drivers/staging/exfat/exfat_nls.c struct fs_info_t *p_fs = &(EXFAT_SB(sb)->fs_info); fs_info 351 drivers/staging/exfat/exfat_super.c struct fs_info_t *p_fs = &(EXFAT_SB(sb)->fs_info); fs_info 452 drivers/staging/exfat/exfat_super.c struct fs_info_t *p_fs = &(EXFAT_SB(sb)->fs_info); fs_info 495 drivers/staging/exfat/exfat_super.c struct fs_info_t *p_fs = &(EXFAT_SB(sb)->fs_info); fs_info 525 drivers/staging/exfat/exfat_super.c struct fs_info_t *p_fs = &(EXFAT_SB(sb)->fs_info); fs_info 556 drivers/staging/exfat/exfat_super.c struct fs_info_t *p_fs = &(EXFAT_SB(sb)->fs_info); fs_info 650 drivers/staging/exfat/exfat_super.c struct fs_info_t *p_fs = &(EXFAT_SB(sb)->fs_info); fs_info 695 drivers/staging/exfat/exfat_super.c struct fs_info_t *p_fs = &(EXFAT_SB(sb)->fs_info); fs_info 825 drivers/staging/exfat/exfat_super.c struct fs_info_t *p_fs = &(EXFAT_SB(sb)->fs_info); fs_info 1076 drivers/staging/exfat/exfat_super.c struct fs_info_t *p_fs = &(EXFAT_SB(sb)->fs_info); fs_info 1202 drivers/staging/exfat/exfat_super.c struct fs_info_t *p_fs = &(EXFAT_SB(parent_inode->i_sb)->fs_info); fs_info 1226 drivers/staging/exfat/exfat_super.c struct fs_info_t *p_fs = &(EXFAT_SB(sb)->fs_info); fs_info 1352 drivers/staging/exfat/exfat_super.c struct fs_info_t *p_fs = &(EXFAT_SB(sb)->fs_info); fs_info 1416 drivers/staging/exfat/exfat_super.c struct fs_info_t *p_fs = &(EXFAT_SB(sb)->fs_info); fs_info 1507 drivers/staging/exfat/exfat_super.c struct fs_info_t *p_fs = &(EXFAT_SB(sb)->fs_info); fs_info 1658 drivers/staging/exfat/exfat_super.c struct fs_info_t *p_fs = &(EXFAT_SB(sb)->fs_info); fs_info 1749 drivers/staging/exfat/exfat_super.c struct fs_info_t *p_fs = &(EXFAT_SB(sb)->fs_info); fs_info 1900 drivers/staging/exfat/exfat_super.c struct fs_info_t *p_fs = &(EXFAT_SB(sb)->fs_info); fs_info 1946 drivers/staging/exfat/exfat_super.c struct fs_info_t *p_fs = &(EXFAT_SB(sb)->fs_info); fs_info 2139 drivers/staging/exfat/exfat_super.c struct fs_info_t *p_fs = &(EXFAT_SB(sb)->fs_info); fs_info 2205 drivers/staging/exfat/exfat_super.c struct fs_info_t *p_fs = &(sbi->fs_info); fs_info 2296 drivers/staging/exfat/exfat_super.c struct fs_info_t *p_fs = &(sbi->fs_info); fs_info 2898 drivers/staging/exfat/exfat_super.c struct fs_info_t *p_fs = &(sbi->fs_info); fs_info 3003 drivers/staging/exfat/exfat_super.c stat->blksize = EXFAT_SB(inode->i_sb)->fs_info.cluster_size; fs_info 3076 drivers/staging/exfat/exfat_super.c struct fs_info_t *p_fs = &(sbi->fs_info); fs_info 3305 drivers/staging/exfat/exfat_super.c struct fs_info_t *p_fs = &(sbi->fs_info); fs_info 3500 drivers/staging/exfat/exfat_super.c struct fs_info_t *p_fs = &(EXFAT_SB(sb)->fs_info); fs_info 3790 drivers/staging/exfat/exfat_super.c struct fs_info_t *p_fs = &(sbi->fs_info); fs_info 3889 drivers/staging/exfat/exfat_super.c if (sbi->fs_info.vol_type != EXFAT) { fs_info 3975 drivers/staging/exfat/exfat_super.c struct fs_info_t *p_fs = &(EXFAT_SB(sb)->fs_info); fs_info 28 fs/btrfs/async-thread.c struct btrfs_fs_info *fs_info; fs_info 59 fs/btrfs/async-thread.c return wq->fs_info; fs_info 65 fs/btrfs/async-thread.c return work->wq->fs_info; fs_info 83 fs/btrfs/async-thread.c __btrfs_alloc_workqueue(struct btrfs_fs_info *fs_info, const char *name, fs_info 91 fs/btrfs/async-thread.c ret->fs_info = fs_info; fs_info 131 fs/btrfs/async-thread.c struct btrfs_workqueue *btrfs_alloc_workqueue(struct btrfs_fs_info *fs_info, fs_info 142 fs/btrfs/async-thread.c ret->normal = __btrfs_alloc_workqueue(fs_info, name, fs_info 151 fs/btrfs/async-thread.c ret->high = __btrfs_alloc_workqueue(fs_info, name, flags, fs_info 290 fs/btrfs/async-thread.c trace_btrfs_all_work_done(wq->fs_info, wtag); fs_info 298 fs/btrfs/async-thread.c trace_btrfs_all_work_done(wq->fs_info, wtag); fs_info 332 fs/btrfs/async-thread.c trace_btrfs_all_work_done(wq->fs_info, wtag); fs_info 32 fs/btrfs/async-thread.h struct btrfs_workqueue *btrfs_alloc_workqueue(struct btrfs_fs_info *fs_info, fs_info 223 fs/btrfs/backref.c static void prelim_ref_insert(const struct btrfs_fs_info *fs_info, fs_info 258 fs/btrfs/backref.c trace_btrfs_prelim_ref_merge(fs_info, ref, newref, fs_info 275 fs/btrfs/backref.c trace_btrfs_prelim_ref_insert(fs_info, newref, NULL, preftree->count); fs_info 334 fs/btrfs/backref.c static int add_prelim_ref(const struct btrfs_fs_info *fs_info, fs_info 383 fs/btrfs/backref.c prelim_ref_insert(fs_info, preftree, ref, sc); fs_info 388 fs/btrfs/backref.c static int add_direct_ref(const struct btrfs_fs_info *fs_info, fs_info 393 fs/btrfs/backref.c return add_prelim_ref(fs_info, &preftrees->direct, 0, NULL, level, fs_info 398 fs/btrfs/backref.c static int add_indirect_ref(const struct btrfs_fs_info *fs_info, fs_info 408 fs/btrfs/backref.c return add_prelim_ref(fs_info, tree, root_id, key, level, 0, fs_info 503 fs/btrfs/backref.c static int resolve_indirect_ref(struct btrfs_fs_info *fs_info, fs_info 521 fs/btrfs/backref.c index = srcu_read_lock(&fs_info->subvol_srcu); fs_info 523 fs/btrfs/backref.c root = btrfs_get_fs_root(fs_info, &root_key, false); fs_info 525 fs/btrfs/backref.c srcu_read_unlock(&fs_info->subvol_srcu, index); fs_info 530 fs/btrfs/backref.c if (btrfs_is_testing(fs_info)) { fs_info 531 fs/btrfs/backref.c srcu_read_unlock(&fs_info->subvol_srcu, index); fs_info 544 fs/btrfs/backref.c srcu_read_unlock(&fs_info->subvol_srcu, index); fs_info 557 fs/btrfs/backref.c srcu_read_unlock(&fs_info->subvol_srcu, index); fs_info 559 fs/btrfs/backref.c btrfs_debug(fs_info, fs_info 609 fs/btrfs/backref.c static int resolve_indirect_refs(struct btrfs_fs_info *fs_info, fs_info 656 fs/btrfs/backref.c err = resolve_indirect_ref(fs_info, path, time_seq, ref, fs_info 664 fs/btrfs/backref.c prelim_ref_insert(fs_info, &preftrees->direct, ref, fs_info 693 fs/btrfs/backref.c prelim_ref_insert(fs_info, &preftrees->direct, fs_info 701 fs/btrfs/backref.c prelim_ref_insert(fs_info, &preftrees->direct, ref, NULL); fs_info 714 fs/btrfs/backref.c static int add_missing_keys(struct btrfs_fs_info *fs_info, fs_info 730 fs/btrfs/backref.c eb = read_tree_block(fs_info, ref->wanted_disk_byte, 0, fs_info 749 fs/btrfs/backref.c prelim_ref_insert(fs_info, &preftrees->indirect, ref, NULL); fs_info 759 fs/btrfs/backref.c static int add_delayed_refs(const struct btrfs_fs_info *fs_info, fs_info 803 fs/btrfs/backref.c ret = add_indirect_ref(fs_info, preftrees, ref->root, fs_info 815 fs/btrfs/backref.c ret = add_direct_ref(fs_info, preftrees, ref->level + 1, fs_info 838 fs/btrfs/backref.c ret = add_indirect_ref(fs_info, preftrees, ref->root, fs_info 849 fs/btrfs/backref.c ret = add_direct_ref(fs_info, preftrees, 0, ref->parent, fs_info 876 fs/btrfs/backref.c static int add_inline_refs(const struct btrfs_fs_info *fs_info, fs_info 938 fs/btrfs/backref.c ret = add_direct_ref(fs_info, preftrees, fs_info 949 fs/btrfs/backref.c ret = add_direct_ref(fs_info, preftrees, 0, offset, fs_info 954 fs/btrfs/backref.c ret = add_indirect_ref(fs_info, preftrees, offset, fs_info 977 fs/btrfs/backref.c ret = add_indirect_ref(fs_info, preftrees, root, fs_info 998 fs/btrfs/backref.c static int add_keyed_refs(struct btrfs_fs_info *fs_info, fs_info 1003 fs/btrfs/backref.c struct btrfs_root *extent_root = fs_info->extent_root; fs_info 1032 fs/btrfs/backref.c ret = add_direct_ref(fs_info, preftrees, fs_info 1044 fs/btrfs/backref.c ret = add_direct_ref(fs_info, preftrees, 0, fs_info 1051 fs/btrfs/backref.c ret = add_indirect_ref(fs_info, preftrees, key.offset, fs_info 1075 fs/btrfs/backref.c ret = add_indirect_ref(fs_info, preftrees, root, fs_info 1114 fs/btrfs/backref.c struct btrfs_fs_info *fs_info, u64 bytenr, fs_info 1138 fs/btrfs/backref.c if (btrfs_fs_incompat(fs_info, SKINNY_METADATA)) fs_info 1162 fs/btrfs/backref.c ret = btrfs_search_slot(trans, fs_info->extent_root, &key, path, 0, 0); fs_info 1197 fs/btrfs/backref.c ret = add_delayed_refs(fs_info, head, time_seq, fs_info 1218 fs/btrfs/backref.c ret = add_inline_refs(fs_info, path, bytenr, fs_info 1223 fs/btrfs/backref.c ret = add_keyed_refs(fs_info, path, bytenr, info_level, fs_info 1232 fs/btrfs/backref.c ret = add_missing_keys(fs_info, &preftrees, path->skip_locking == 0); fs_info 1238 fs/btrfs/backref.c ret = resolve_indirect_refs(fs_info, path, time_seq, &preftrees, fs_info 1283 fs/btrfs/backref.c eb = read_tree_block(fs_info, ref->parent, 0, fs_info 1366 fs/btrfs/backref.c struct btrfs_fs_info *fs_info, u64 bytenr, fs_info 1376 fs/btrfs/backref.c ret = find_parent_nodes(trans, fs_info, bytenr, time_seq, fs_info 1400 fs/btrfs/backref.c struct btrfs_fs_info *fs_info, u64 bytenr, fs_info 1420 fs/btrfs/backref.c ret = find_parent_nodes(trans, fs_info, bytenr, time_seq, fs_info 1439 fs/btrfs/backref.c struct btrfs_fs_info *fs_info, u64 bytenr, fs_info 1446 fs/btrfs/backref.c down_read(&fs_info->commit_root_sem); fs_info 1447 fs/btrfs/backref.c ret = btrfs_find_all_roots_safe(trans, fs_info, bytenr, fs_info 1450 fs/btrfs/backref.c up_read(&fs_info->commit_root_sem); fs_info 1471 fs/btrfs/backref.c struct btrfs_fs_info *fs_info = root->fs_info; fs_info 1493 fs/btrfs/backref.c down_read(&fs_info->commit_root_sem); fs_info 1495 fs/btrfs/backref.c btrfs_get_tree_mod_seq(fs_info, &elem); fs_info 1500 fs/btrfs/backref.c ret = find_parent_nodes(trans, fs_info, bytenr, elem.seq, tmp, fs_info 1519 fs/btrfs/backref.c btrfs_put_tree_mod_seq(fs_info, &elem); fs_info 1522 fs/btrfs/backref.c up_read(&fs_info->commit_root_sem); fs_info 1688 fs/btrfs/backref.c int extent_from_logical(struct btrfs_fs_info *fs_info, u64 logical, fs_info 1700 fs/btrfs/backref.c if (btrfs_fs_incompat(fs_info, SKINNY_METADATA)) fs_info 1707 fs/btrfs/backref.c ret = btrfs_search_slot(NULL, fs_info->extent_root, &key, path, 0, 0); fs_info 1711 fs/btrfs/backref.c ret = btrfs_previous_extent_item(fs_info->extent_root, path, 0); fs_info 1719 fs/btrfs/backref.c size = fs_info->nodesize; fs_info 1725 fs/btrfs/backref.c btrfs_debug(fs_info, fs_info 1737 fs/btrfs/backref.c btrfs_debug(fs_info, fs_info 1864 fs/btrfs/backref.c static int iterate_leaf_refs(struct btrfs_fs_info *fs_info, fs_info 1873 fs/btrfs/backref.c btrfs_debug(fs_info, fs_info 1879 fs/btrfs/backref.c btrfs_debug(fs_info, fs_info 1894 fs/btrfs/backref.c int iterate_extent_inodes(struct btrfs_fs_info *fs_info, fs_info 1910 fs/btrfs/backref.c btrfs_debug(fs_info, "resolving all inodes for extent %llu", fs_info 1914 fs/btrfs/backref.c trans = btrfs_attach_transaction(fs_info->extent_root); fs_info 1924 fs/btrfs/backref.c btrfs_get_tree_mod_seq(fs_info, &tree_mod_seq_elem); fs_info 1926 fs/btrfs/backref.c down_read(&fs_info->commit_root_sem); fs_info 1928 fs/btrfs/backref.c ret = btrfs_find_all_leafs(trans, fs_info, extent_item_objectid, fs_info 1936 fs/btrfs/backref.c ret = btrfs_find_all_roots_safe(trans, fs_info, ref_node->val, fs_info 1943 fs/btrfs/backref.c btrfs_debug(fs_info, fs_info 1947 fs/btrfs/backref.c ret = iterate_leaf_refs(fs_info, fs_info 1960 fs/btrfs/backref.c btrfs_put_tree_mod_seq(fs_info, &tree_mod_seq_elem); fs_info 1963 fs/btrfs/backref.c up_read(&fs_info->commit_root_sem); fs_info 1969 fs/btrfs/backref.c int iterate_inodes_from_logical(u64 logical, struct btrfs_fs_info *fs_info, fs_info 1980 fs/btrfs/backref.c ret = extent_from_logical(fs_info, logical, path, &found_key, &flags); fs_info 1988 fs/btrfs/backref.c ret = iterate_extent_inodes(fs_info, found_key.objectid, fs_info 2042 fs/btrfs/backref.c btrfs_debug(fs_root->fs_info, fs_info 22 fs/btrfs/backref.h int extent_from_logical(struct btrfs_fs_info *fs_info, u64 logical, fs_info 30 fs/btrfs/backref.h int iterate_extent_inodes(struct btrfs_fs_info *fs_info, fs_info 36 fs/btrfs/backref.h int iterate_inodes_from_logical(u64 logical, struct btrfs_fs_info *fs_info, fs_info 44 fs/btrfs/backref.h struct btrfs_fs_info *fs_info, u64 bytenr, fs_info 24 fs/btrfs/block-group.c static u64 get_restripe_target(struct btrfs_fs_info *fs_info, u64 flags) fs_info 26 fs/btrfs/block-group.c struct btrfs_balance_control *bctl = fs_info->balance_ctl; fs_info 53 fs/btrfs/block-group.c static u64 btrfs_reduce_alloc_profile(struct btrfs_fs_info *fs_info, u64 flags) fs_info 55 fs/btrfs/block-group.c u64 num_devices = fs_info->fs_devices->rw_devices; fs_info 64 fs/btrfs/block-group.c spin_lock(&fs_info->balance_lock); fs_info 65 fs/btrfs/block-group.c target = get_restripe_target(fs_info, flags); fs_info 69 fs/btrfs/block-group.c spin_unlock(&fs_info->balance_lock); fs_info 73 fs/btrfs/block-group.c spin_unlock(&fs_info->balance_lock); fs_info 98 fs/btrfs/block-group.c static u64 get_alloc_profile(struct btrfs_fs_info *fs_info, u64 orig_flags) fs_info 105 fs/btrfs/block-group.c seq = read_seqbegin(&fs_info->profiles_lock); fs_info 108 fs/btrfs/block-group.c flags |= fs_info->avail_data_alloc_bits; fs_info 110 fs/btrfs/block-group.c flags |= fs_info->avail_system_alloc_bits; fs_info 112 fs/btrfs/block-group.c flags |= fs_info->avail_metadata_alloc_bits; fs_info 113 fs/btrfs/block-group.c } while (read_seqretry(&fs_info->profiles_lock, seq)); fs_info 115 fs/btrfs/block-group.c return btrfs_reduce_alloc_profile(fs_info, flags); fs_info 118 fs/btrfs/block-group.c u64 btrfs_get_alloc_profile(struct btrfs_fs_info *fs_info, u64 orig_flags) fs_info 120 fs/btrfs/block-group.c return get_alloc_profile(fs_info, orig_flags); fs_info 253 fs/btrfs/block-group.c struct btrfs_fs_info *fs_info = cache->fs_info; fs_info 256 fs/btrfs/block-group.c spin_lock(&fs_info->block_group_cache_lock); fs_info 262 fs/btrfs/block-group.c spin_unlock(&fs_info->block_group_cache_lock); fs_info 264 fs/btrfs/block-group.c cache = btrfs_lookup_first_block_group(fs_info, next_bytenr); return cache; fs_info 274 fs/btrfs/block-group.c spin_unlock(&fs_info->block_group_cache_lock); fs_info 278 fs/btrfs/block-group.c bool btrfs_inc_nocow_writers(struct btrfs_fs_info *fs_info, u64 bytenr) fs_info 283 fs/btrfs/block-group.c bg = btrfs_lookup_block_group(fs_info, bytenr); fs_info 301 fs/btrfs/block-group.c void btrfs_dec_nocow_writers(struct btrfs_fs_info *fs_info, u64 bytenr) fs_info 305 fs/btrfs/block-group.c bg = btrfs_lookup_block_group(fs_info, bytenr); fs_info 322 fs/btrfs/block-group.c void btrfs_dec_block_group_reservations(struct btrfs_fs_info *fs_info, fs_info 327 fs/btrfs/block-group.c bg = btrfs_lookup_block_group(fs_info, start); fs_info 429 fs/btrfs/block-group.c struct btrfs_fs_info *fs_info = block_group->fs_info; fs_info 433 fs/btrfs/block-group.c fs_info->nodesize : fs_info->sectorsize; fs_info 456 fs/btrfs/block-group.c struct btrfs_fs_info *info = block_group->fs_info; fs_info 495 fs/btrfs/block-group.c struct btrfs_fs_info *fs_info = block_group->fs_info; fs_info 496 fs/btrfs/block-group.c struct btrfs_root *extent_root = fs_info->extent_root; fs_info 544 fs/btrfs/block-group.c if (btrfs_fs_closing(fs_info) > 1) { fs_info 557 fs/btrfs/block-group.c rwsem_is_contended(&fs_info->commit_root_sem)) { fs_info 561 fs/btrfs/block-group.c up_read(&fs_info->commit_root_sem); fs_info 565 fs/btrfs/block-group.c down_read(&fs_info->commit_root_sem); fs_info 605 fs/btrfs/block-group.c fs_info->nodesize; fs_info 632 fs/btrfs/block-group.c struct btrfs_fs_info *fs_info; fs_info 638 fs/btrfs/block-group.c fs_info = block_group->fs_info; fs_info 641 fs/btrfs/block-group.c down_read(&fs_info->commit_root_sem); fs_info 643 fs/btrfs/block-group.c if (btrfs_fs_compat_ro(fs_info, FREE_SPACE_TREE)) fs_info 670 fs/btrfs/block-group.c up_read(&fs_info->commit_root_sem); fs_info 684 fs/btrfs/block-group.c struct btrfs_fs_info *fs_info = cache->fs_info; fs_info 738 fs/btrfs/block-group.c if (btrfs_test_opt(fs_info, SPACE_CACHE)) { fs_info 803 fs/btrfs/block-group.c down_write(&fs_info->commit_root_sem); fs_info 805 fs/btrfs/block-group.c list_add_tail(&caching_ctl->list, &fs_info->caching_block_groups); fs_info 806 fs/btrfs/block-group.c up_write(&fs_info->commit_root_sem); fs_info 810 fs/btrfs/block-group.c btrfs_queue_work(fs_info->caching_workers, &caching_ctl->work); fs_info 815 fs/btrfs/block-group.c static void clear_avail_alloc_bits(struct btrfs_fs_info *fs_info, u64 flags) fs_info 820 fs/btrfs/block-group.c write_seqlock(&fs_info->profiles_lock); fs_info 822 fs/btrfs/block-group.c fs_info->avail_data_alloc_bits &= ~extra_flags; fs_info 824 fs/btrfs/block-group.c fs_info->avail_metadata_alloc_bits &= ~extra_flags; fs_info 826 fs/btrfs/block-group.c fs_info->avail_system_alloc_bits &= ~extra_flags; fs_info 827 fs/btrfs/block-group.c write_sequnlock(&fs_info->profiles_lock); fs_info 836 fs/btrfs/block-group.c static void clear_incompat_bg_bits(struct btrfs_fs_info *fs_info, u64 flags) fs_info 839 fs/btrfs/block-group.c struct list_head *head = &fs_info->space_info; fs_info 855 fs/btrfs/block-group.c btrfs_clear_fs_incompat(fs_info, RAID56); fs_info 862 fs/btrfs/block-group.c struct btrfs_fs_info *fs_info = trans->fs_info; fs_info 863 fs/btrfs/block-group.c struct btrfs_root *root = fs_info->extent_root; fs_info 867 fs/btrfs/block-group.c struct btrfs_root *tree_root = fs_info->tree_root; fs_info 878 fs/btrfs/block-group.c block_group = btrfs_lookup_block_group(fs_info, group_start); fs_info 888 fs/btrfs/block-group.c btrfs_free_ref_tree_range(fs_info, block_group->key.objectid, fs_info 896 fs/btrfs/block-group.c cluster = &fs_info->data_alloc_cluster; fs_info 905 fs/btrfs/block-group.c cluster = &fs_info->meta_alloc_cluster; fs_info 984 fs/btrfs/block-group.c spin_lock(&fs_info->block_group_cache_lock); fs_info 986 fs/btrfs/block-group.c &fs_info->block_group_cache_tree); fs_info 989 fs/btrfs/block-group.c if (fs_info->first_logical_byte == block_group->key.objectid) fs_info 990 fs/btrfs/block-group.c fs_info->first_logical_byte = (u64)-1; fs_info 991 fs/btrfs/block-group.c spin_unlock(&fs_info->block_group_cache_lock); fs_info 1002 fs/btrfs/block-group.c clear_avail_alloc_bits(fs_info, block_group->flags); fs_info 1005 fs/btrfs/block-group.c clear_incompat_bg_bits(fs_info, block_group->flags); fs_info 1016 fs/btrfs/block-group.c down_write(&fs_info->commit_root_sem); fs_info 1021 fs/btrfs/block-group.c &fs_info->caching_block_groups, list) fs_info 1030 fs/btrfs/block-group.c up_write(&fs_info->commit_root_sem); fs_info 1048 fs/btrfs/block-group.c if (btrfs_test_opt(fs_info, ENOSPC_DEBUG)) { fs_info 1064 fs/btrfs/block-group.c mutex_lock(&fs_info->chunk_mutex); fs_info 1093 fs/btrfs/block-group.c mutex_unlock(&fs_info->chunk_mutex); fs_info 1115 fs/btrfs/block-group.c em_tree = &fs_info->mapping_tree; fs_info 1128 fs/btrfs/block-group.c btrfs_delayed_refs_rsv_release(fs_info, 1); fs_info 1134 fs/btrfs/block-group.c struct btrfs_fs_info *fs_info, const u64 chunk_offset) fs_info 1136 fs/btrfs/block-group.c struct extent_map_tree *em_tree = &fs_info->mapping_tree; fs_info 1169 fs/btrfs/block-group.c return btrfs_start_transaction_fallback_global_rsv(fs_info->extent_root, fs_info 1235 fs/btrfs/block-group.c if (ret == -ENOSPC && btrfs_test_opt(cache->fs_info, ENOSPC_DEBUG)) { fs_info 1236 fs/btrfs/block-group.c btrfs_info(cache->fs_info, fs_info 1239 fs/btrfs/block-group.c btrfs_info(cache->fs_info, fs_info 1242 fs/btrfs/block-group.c btrfs_dump_space_info(cache->fs_info, cache->space_info, 0, 0); fs_info 1251 fs/btrfs/block-group.c void btrfs_delete_unused_bgs(struct btrfs_fs_info *fs_info) fs_info 1258 fs/btrfs/block-group.c if (!test_bit(BTRFS_FS_OPEN, &fs_info->flags)) fs_info 1261 fs/btrfs/block-group.c spin_lock(&fs_info->unused_bgs_lock); fs_info 1262 fs/btrfs/block-group.c while (!list_empty(&fs_info->unused_bgs)) { fs_info 1266 fs/btrfs/block-group.c block_group = list_first_entry(&fs_info->unused_bgs, fs_info 1277 fs/btrfs/block-group.c spin_unlock(&fs_info->unused_bgs_lock); fs_info 1279 fs/btrfs/block-group.c mutex_lock(&fs_info->delete_unused_bgs_mutex); fs_info 1313 fs/btrfs/block-group.c trans = btrfs_start_trans_remove_block_group(fs_info, fs_info 1338 fs/btrfs/block-group.c mutex_lock(&fs_info->unused_bg_unpin_mutex); fs_info 1339 fs/btrfs/block-group.c ret = clear_extent_bits(&fs_info->freed_extents[0], start, end, fs_info 1342 fs/btrfs/block-group.c mutex_unlock(&fs_info->unused_bg_unpin_mutex); fs_info 1346 fs/btrfs/block-group.c ret = clear_extent_bits(&fs_info->freed_extents[1], start, end, fs_info 1349 fs/btrfs/block-group.c mutex_unlock(&fs_info->unused_bg_unpin_mutex); fs_info 1353 fs/btrfs/block-group.c mutex_unlock(&fs_info->unused_bg_unpin_mutex); fs_info 1359 fs/btrfs/block-group.c btrfs_space_info_update_bytes_pinned(fs_info, space_info, fs_info 1371 fs/btrfs/block-group.c trimming = btrfs_test_opt(fs_info, DISCARD); fs_info 1395 fs/btrfs/block-group.c spin_lock(&fs_info->unused_bgs_lock); fs_info 1403 fs/btrfs/block-group.c spin_unlock(&fs_info->unused_bgs_lock); fs_info 1409 fs/btrfs/block-group.c mutex_unlock(&fs_info->delete_unused_bgs_mutex); fs_info 1411 fs/btrfs/block-group.c spin_lock(&fs_info->unused_bgs_lock); fs_info 1413 fs/btrfs/block-group.c spin_unlock(&fs_info->unused_bgs_lock); fs_info 1418 fs/btrfs/block-group.c struct btrfs_fs_info *fs_info = bg->fs_info; fs_info 1420 fs/btrfs/block-group.c spin_lock(&fs_info->unused_bgs_lock); fs_info 1424 fs/btrfs/block-group.c list_add_tail(&bg->bg_list, &fs_info->unused_bgs); fs_info 1426 fs/btrfs/block-group.c spin_unlock(&fs_info->unused_bgs_lock); fs_info 1429 fs/btrfs/block-group.c static int find_first_block_group(struct btrfs_fs_info *fs_info, fs_info 1433 fs/btrfs/block-group.c struct btrfs_root *root = fs_info->extent_root; fs_info 1463 fs/btrfs/block-group.c em_tree = &root->fs_info->mapping_tree; fs_info 1469 fs/btrfs/block-group.c btrfs_err(fs_info, fs_info 1475 fs/btrfs/block-group.c btrfs_err(fs_info, fs_info 1489 fs/btrfs/block-group.c btrfs_err(fs_info, fs_info 1509 fs/btrfs/block-group.c static void set_avail_alloc_bits(struct btrfs_fs_info *fs_info, u64 flags) fs_info 1514 fs/btrfs/block-group.c write_seqlock(&fs_info->profiles_lock); fs_info 1516 fs/btrfs/block-group.c fs_info->avail_data_alloc_bits |= extra_flags; fs_info 1518 fs/btrfs/block-group.c fs_info->avail_metadata_alloc_bits |= extra_flags; fs_info 1520 fs/btrfs/block-group.c fs_info->avail_system_alloc_bits |= extra_flags; fs_info 1521 fs/btrfs/block-group.c write_sequnlock(&fs_info->profiles_lock); fs_info 1526 fs/btrfs/block-group.c struct btrfs_fs_info *fs_info = cache->fs_info; fs_info 1535 fs/btrfs/block-group.c ret = btrfs_add_excluded_extent(fs_info, cache->key.objectid, fs_info 1543 fs/btrfs/block-group.c ret = btrfs_rmap_block(fs_info, cache->key.objectid, fs_info 1569 fs/btrfs/block-group.c ret = btrfs_add_excluded_extent(fs_info, start, len); fs_info 1598 fs/btrfs/block-group.c struct btrfs_fs_info *fs_info, u64 start, u64 size) fs_info 1617 fs/btrfs/block-group.c cache->fs_info = fs_info; fs_info 1618 fs/btrfs/block-group.c cache->full_stripe_len = btrfs_full_stripe_len(fs_info, start); fs_info 1642 fs/btrfs/block-group.c static int check_chunk_block_group_mappings(struct btrfs_fs_info *fs_info) fs_info 1644 fs/btrfs/block-group.c struct extent_map_tree *map_tree = &fs_info->mapping_tree; fs_info 1662 fs/btrfs/block-group.c bg = btrfs_lookup_block_group(fs_info, em->start); fs_info 1664 fs/btrfs/block-group.c btrfs_err(fs_info, fs_info 1675 fs/btrfs/block-group.c btrfs_err(fs_info, fs_info 1868 fs/btrfs/block-group.c struct btrfs_fs_info *fs_info = trans->fs_info; fs_info 1870 fs/btrfs/block-group.c struct btrfs_root *extent_root = fs_info->extent_root; fs_info 1900 fs/btrfs/block-group.c btrfs_delayed_refs_rsv_release(fs_info, 1); fs_info 1909 fs/btrfs/block-group.c struct btrfs_fs_info *fs_info = trans->fs_info; fs_info 1915 fs/btrfs/block-group.c cache = btrfs_create_block_group_cache(fs_info, chunk_offset, size); fs_info 1953 fs/btrfs/block-group.c cache->space_info = btrfs_find_space_info(fs_info, cache->flags); fs_info 1956 fs/btrfs/block-group.c ret = btrfs_add_block_group_cache(fs_info, cache); fs_info 1967 fs/btrfs/block-group.c trace_btrfs_add_block_group(fs_info, cache, 1); fs_info 1968 fs/btrfs/block-group.c btrfs_update_space_info(fs_info, cache->flags, size, bytes_used, fs_info 1970 fs/btrfs/block-group.c btrfs_update_global_block_rsv(fs_info); fs_info 1978 fs/btrfs/block-group.c set_avail_alloc_bits(fs_info, type); fs_info 1982 fs/btrfs/block-group.c static u64 update_block_group_flags(struct btrfs_fs_info *fs_info, u64 flags) fs_info 1991 fs/btrfs/block-group.c stripped = get_restripe_target(fs_info, flags); fs_info 1995 fs/btrfs/block-group.c num_devices = fs_info->fs_devices->rw_devices; fs_info 2033 fs/btrfs/block-group.c struct btrfs_fs_info *fs_info = cache->fs_info; fs_info 2039 fs/btrfs/block-group.c trans = btrfs_join_transaction(fs_info->extent_root); fs_info 2048 fs/btrfs/block-group.c mutex_lock(&fs_info->ro_block_group_mutex); fs_info 2052 fs/btrfs/block-group.c mutex_unlock(&fs_info->ro_block_group_mutex); fs_info 2055 fs/btrfs/block-group.c ret = btrfs_wait_for_commit(fs_info, transid); fs_info 2065 fs/btrfs/block-group.c alloc_flags = update_block_group_flags(fs_info, cache->flags); fs_info 2082 fs/btrfs/block-group.c alloc_flags = btrfs_get_alloc_profile(fs_info, cache->space_info->flags); fs_info 2089 fs/btrfs/block-group.c alloc_flags = update_block_group_flags(fs_info, cache->flags); fs_info 2090 fs/btrfs/block-group.c mutex_lock(&fs_info->chunk_mutex); fs_info 2092 fs/btrfs/block-group.c mutex_unlock(&fs_info->chunk_mutex); fs_info 2094 fs/btrfs/block-group.c mutex_unlock(&fs_info->ro_block_group_mutex); fs_info 2124 fs/btrfs/block-group.c struct btrfs_fs_info *fs_info = trans->fs_info; fs_info 2126 fs/btrfs/block-group.c struct btrfs_root *extent_root = fs_info->extent_root; fs_info 2151 fs/btrfs/block-group.c struct btrfs_fs_info *fs_info = block_group->fs_info; fs_info 2152 fs/btrfs/block-group.c struct btrfs_root *root = fs_info->tree_root; fs_info 2226 fs/btrfs/block-group.c ret = btrfs_check_trunc_cache_free_space(fs_info, fs_info 2227 fs/btrfs/block-group.c &fs_info->global_block_rsv); fs_info 2238 fs/btrfs/block-group.c !btrfs_test_opt(fs_info, SPACE_CACHE)) { fs_info 2310 fs/btrfs/block-group.c struct btrfs_fs_info *fs_info = trans->fs_info; fs_info 2316 fs/btrfs/block-group.c !btrfs_test_opt(fs_info, SPACE_CACHE)) fs_info 2348 fs/btrfs/block-group.c struct btrfs_fs_info *fs_info = trans->fs_info; fs_info 2468 fs/btrfs/block-group.c btrfs_delayed_refs_rsv_release(fs_info, 1); fs_info 2502 fs/btrfs/block-group.c btrfs_cleanup_dirty_bgs(cur_trans, fs_info); fs_info 2511 fs/btrfs/block-group.c struct btrfs_fs_info *fs_info = trans->fs_info; fs_info 2614 fs/btrfs/block-group.c btrfs_delayed_refs_rsv_release(fs_info, 1); fs_info 2638 fs/btrfs/block-group.c struct btrfs_fs_info *info = trans->fs_info; fs_info 2767 fs/btrfs/block-group.c trace_btrfs_space_reservation(cache->fs_info, "space_info", fs_info 2769 fs/btrfs/block-group.c btrfs_space_info_update_bytes_may_use(cache->fs_info, fs_info 2822 fs/btrfs/block-group.c static int should_alloc_chunk(struct btrfs_fs_info *fs_info, fs_info 2836 fs/btrfs/block-group.c thresh = btrfs_super_total_bytes(fs_info->super_copy); fs_info 2850 fs/btrfs/block-group.c u64 alloc_flags = btrfs_get_alloc_profile(trans->fs_info, type); fs_info 2867 fs/btrfs/block-group.c struct btrfs_fs_info *fs_info = trans->fs_info; fs_info 2877 fs/btrfs/block-group.c space_info = btrfs_find_space_info(fs_info, flags); fs_info 2884 fs/btrfs/block-group.c should_alloc = should_alloc_chunk(fs_info, space_info, force); fs_info 2905 fs/btrfs/block-group.c mutex_lock(&fs_info->chunk_mutex); fs_info 2906 fs/btrfs/block-group.c mutex_unlock(&fs_info->chunk_mutex); fs_info 2917 fs/btrfs/block-group.c mutex_lock(&fs_info->chunk_mutex); fs_info 2932 fs/btrfs/block-group.c if (flags & BTRFS_BLOCK_GROUP_DATA && fs_info->metadata_ratio) { fs_info 2933 fs/btrfs/block-group.c fs_info->data_chunk_allocations++; fs_info 2934 fs/btrfs/block-group.c if (!(fs_info->data_chunk_allocations % fs_info 2935 fs/btrfs/block-group.c fs_info->metadata_ratio)) fs_info 2936 fs/btrfs/block-group.c force_metadata_allocation(fs_info); fs_info 2963 fs/btrfs/block-group.c mutex_unlock(&fs_info->chunk_mutex); fs_info 2984 fs/btrfs/block-group.c static u64 get_profile_num_devs(struct btrfs_fs_info *fs_info, u64 type) fs_info 2990 fs/btrfs/block-group.c num_dev = fs_info->fs_devices->rw_devices; fs_info 3002 fs/btrfs/block-group.c struct btrfs_fs_info *fs_info = trans->fs_info; fs_info 3013 fs/btrfs/block-group.c lockdep_assert_held(&fs_info->chunk_mutex); fs_info 3015 fs/btrfs/block-group.c info = btrfs_find_space_info(fs_info, BTRFS_BLOCK_GROUP_SYSTEM); fs_info 3020 fs/btrfs/block-group.c num_devs = get_profile_num_devs(fs_info, type); fs_info 3023 fs/btrfs/block-group.c thresh = btrfs_calc_metadata_size(fs_info, num_devs) + fs_info 3024 fs/btrfs/block-group.c btrfs_calc_insert_metadata_size(fs_info, 1); fs_info 3026 fs/btrfs/block-group.c if (left < thresh && btrfs_test_opt(fs_info, ENOSPC_DEBUG)) { fs_info 3027 fs/btrfs/block-group.c btrfs_info(fs_info, "left=%llu, need=%llu, flags=%llu", fs_info 3029 fs/btrfs/block-group.c btrfs_dump_space_info(fs_info, info, 0, 0); fs_info 3033 fs/btrfs/block-group.c u64 flags = btrfs_system_alloc_profile(fs_info); fs_info 3045 fs/btrfs/block-group.c ret = btrfs_block_rsv_add(fs_info->chunk_root, fs_info 3046 fs/btrfs/block-group.c &fs_info->chunk_block_rsv, fs_info 48 fs/btrfs/block-group.h struct btrfs_fs_info *fs_info; fs_info 164 fs/btrfs/block-group.h struct btrfs_fs_info *fs_info = block_group->fs_info; fs_info 166 fs/btrfs/block-group.h return (btrfs_test_opt(fs_info, FRAGMENT_METADATA) && fs_info 168 fs/btrfs/block-group.h (btrfs_test_opt(fs_info, FRAGMENT_DATA) && fs_info 181 fs/btrfs/block-group.h void btrfs_dec_block_group_reservations(struct btrfs_fs_info *fs_info, fs_info 184 fs/btrfs/block-group.h bool btrfs_inc_nocow_writers(struct btrfs_fs_info *fs_info, u64 bytenr); fs_info 185 fs/btrfs/block-group.h void btrfs_dec_nocow_writers(struct btrfs_fs_info *fs_info, u64 bytenr); fs_info 198 fs/btrfs/block-group.h struct btrfs_fs_info *fs_info, fs_info 202 fs/btrfs/block-group.h void btrfs_delete_unused_bgs(struct btrfs_fs_info *fs_info); fs_info 223 fs/btrfs/block-group.h u64 btrfs_get_alloc_profile(struct btrfs_fs_info *fs_info, u64 orig_flags); fs_info 227 fs/btrfs/block-group.h static inline u64 btrfs_data_alloc_profile(struct btrfs_fs_info *fs_info) fs_info 229 fs/btrfs/block-group.h return btrfs_get_alloc_profile(fs_info, BTRFS_BLOCK_GROUP_DATA); fs_info 232 fs/btrfs/block-group.h static inline u64 btrfs_metadata_alloc_profile(struct btrfs_fs_info *fs_info) fs_info 234 fs/btrfs/block-group.h return btrfs_get_alloc_profile(fs_info, BTRFS_BLOCK_GROUP_METADATA); fs_info 237 fs/btrfs/block-group.h static inline u64 btrfs_system_alloc_profile(struct btrfs_fs_info *fs_info) fs_info 239 fs/btrfs/block-group.h return btrfs_get_alloc_profile(fs_info, BTRFS_BLOCK_GROUP_SYSTEM); fs_info 9 fs/btrfs/block-rsv.c static u64 block_rsv_release_bytes(struct btrfs_fs_info *fs_info, fs_info 57 fs/btrfs/block-rsv.c btrfs_space_info_free_bytes_may_use(fs_info, fs_info 87 fs/btrfs/block-rsv.c void btrfs_init_metadata_block_rsv(struct btrfs_fs_info *fs_info, fs_info 92 fs/btrfs/block-rsv.c rsv->space_info = btrfs_find_space_info(fs_info, fs_info 96 fs/btrfs/block-rsv.c struct btrfs_block_rsv *btrfs_alloc_block_rsv(struct btrfs_fs_info *fs_info, fs_info 105 fs/btrfs/block-rsv.c btrfs_init_metadata_block_rsv(fs_info, block_rsv, type); fs_info 109 fs/btrfs/block-rsv.c void btrfs_free_block_rsv(struct btrfs_fs_info *fs_info, fs_info 114 fs/btrfs/block-rsv.c btrfs_block_rsv_release(fs_info, rsv, (u64)-1); fs_info 181 fs/btrfs/block-rsv.c u64 __btrfs_block_rsv_release(struct btrfs_fs_info *fs_info, fs_info 185 fs/btrfs/block-rsv.c struct btrfs_block_rsv *global_rsv = &fs_info->global_block_rsv; fs_info 186 fs/btrfs/block-rsv.c struct btrfs_block_rsv *delayed_rsv = &fs_info->delayed_refs_rsv; fs_info 201 fs/btrfs/block-rsv.c return block_rsv_release_bytes(fs_info, block_rsv, target, num_bytes, fs_info 232 fs/btrfs/block-rsv.c int btrfs_cond_migrate_bytes(struct btrfs_fs_info *fs_info, fs_info 236 fs/btrfs/block-rsv.c struct btrfs_block_rsv *global_rsv = &fs_info->global_block_rsv; fs_info 257 fs/btrfs/block-rsv.c void btrfs_update_global_block_rsv(struct btrfs_fs_info *fs_info) fs_info 259 fs/btrfs/block-rsv.c struct btrfs_block_rsv *block_rsv = &fs_info->global_block_rsv; fs_info 269 fs/btrfs/block-rsv.c num_bytes = btrfs_root_used(&fs_info->extent_root->root_item) + fs_info 270 fs/btrfs/block-rsv.c btrfs_root_used(&fs_info->csum_root->root_item) + fs_info 271 fs/btrfs/block-rsv.c btrfs_root_used(&fs_info->tree_root->root_item); fs_info 291 fs/btrfs/block-rsv.c btrfs_calc_insert_metadata_size(fs_info, min_items)); fs_info 301 fs/btrfs/block-rsv.c btrfs_space_info_update_bytes_may_use(fs_info, sinfo, fs_info 305 fs/btrfs/block-rsv.c btrfs_space_info_update_bytes_may_use(fs_info, sinfo, fs_info 308 fs/btrfs/block-rsv.c btrfs_try_granting_tickets(fs_info, sinfo); fs_info 320 fs/btrfs/block-rsv.c void btrfs_init_global_block_rsv(struct btrfs_fs_info *fs_info) fs_info 324 fs/btrfs/block-rsv.c space_info = btrfs_find_space_info(fs_info, BTRFS_BLOCK_GROUP_SYSTEM); fs_info 325 fs/btrfs/block-rsv.c fs_info->chunk_block_rsv.space_info = space_info; fs_info 327 fs/btrfs/block-rsv.c space_info = btrfs_find_space_info(fs_info, BTRFS_BLOCK_GROUP_METADATA); fs_info 328 fs/btrfs/block-rsv.c fs_info->global_block_rsv.space_info = space_info; fs_info 329 fs/btrfs/block-rsv.c fs_info->trans_block_rsv.space_info = space_info; fs_info 330 fs/btrfs/block-rsv.c fs_info->empty_block_rsv.space_info = space_info; fs_info 331 fs/btrfs/block-rsv.c fs_info->delayed_block_rsv.space_info = space_info; fs_info 332 fs/btrfs/block-rsv.c fs_info->delayed_refs_rsv.space_info = space_info; fs_info 334 fs/btrfs/block-rsv.c fs_info->extent_root->block_rsv = &fs_info->delayed_refs_rsv; fs_info 335 fs/btrfs/block-rsv.c fs_info->csum_root->block_rsv = &fs_info->delayed_refs_rsv; fs_info 336 fs/btrfs/block-rsv.c fs_info->dev_root->block_rsv = &fs_info->global_block_rsv; fs_info 337 fs/btrfs/block-rsv.c fs_info->tree_root->block_rsv = &fs_info->global_block_rsv; fs_info 338 fs/btrfs/block-rsv.c if (fs_info->quota_root) fs_info 339 fs/btrfs/block-rsv.c fs_info->quota_root->block_rsv = &fs_info->global_block_rsv; fs_info 340 fs/btrfs/block-rsv.c fs_info->chunk_root->block_rsv = &fs_info->chunk_block_rsv; fs_info 342 fs/btrfs/block-rsv.c btrfs_update_global_block_rsv(fs_info); fs_info 345 fs/btrfs/block-rsv.c void btrfs_release_global_block_rsv(struct btrfs_fs_info *fs_info) fs_info 347 fs/btrfs/block-rsv.c btrfs_block_rsv_release(fs_info, &fs_info->global_block_rsv, (u64)-1); fs_info 348 fs/btrfs/block-rsv.c WARN_ON(fs_info->trans_block_rsv.size > 0); fs_info 349 fs/btrfs/block-rsv.c WARN_ON(fs_info->trans_block_rsv.reserved > 0); fs_info 350 fs/btrfs/block-rsv.c WARN_ON(fs_info->chunk_block_rsv.size > 0); fs_info 351 fs/btrfs/block-rsv.c WARN_ON(fs_info->chunk_block_rsv.reserved > 0); fs_info 352 fs/btrfs/block-rsv.c WARN_ON(fs_info->delayed_block_rsv.size > 0); fs_info 353 fs/btrfs/block-rsv.c WARN_ON(fs_info->delayed_block_rsv.reserved > 0); fs_info 354 fs/btrfs/block-rsv.c WARN_ON(fs_info->delayed_refs_rsv.reserved > 0); fs_info 355 fs/btrfs/block-rsv.c WARN_ON(fs_info->delayed_refs_rsv.size > 0); fs_info 362 fs/btrfs/block-rsv.c struct btrfs_fs_info *fs_info = root->fs_info; fs_info 366 fs/btrfs/block-rsv.c (root == fs_info->csum_root && trans->adding_csums) || fs_info 367 fs/btrfs/block-rsv.c (root == fs_info->uuid_root)) fs_info 374 fs/btrfs/block-rsv.c block_rsv = &fs_info->empty_block_rsv; fs_info 383 fs/btrfs/block-rsv.c struct btrfs_fs_info *fs_info = root->fs_info; fs_info 385 fs/btrfs/block-rsv.c struct btrfs_block_rsv *global_rsv = &fs_info->global_block_rsv; fs_info 403 fs/btrfs/block-rsv.c btrfs_update_global_block_rsv(fs_info); fs_info 412 fs/btrfs/block-rsv.c btrfs_test_opt(fs_info, ENOSPC_DEBUG)) { fs_info 53 fs/btrfs/block-rsv.h struct btrfs_block_rsv *btrfs_alloc_block_rsv(struct btrfs_fs_info *fs_info, fs_info 55 fs/btrfs/block-rsv.h void btrfs_init_metadata_block_rsv(struct btrfs_fs_info *fs_info, fs_info 58 fs/btrfs/block-rsv.h void btrfs_free_block_rsv(struct btrfs_fs_info *fs_info, fs_info 71 fs/btrfs/block-rsv.h int btrfs_cond_migrate_bytes(struct btrfs_fs_info *fs_info, fs_info 76 fs/btrfs/block-rsv.h u64 __btrfs_block_rsv_release(struct btrfs_fs_info *fs_info, fs_info 79 fs/btrfs/block-rsv.h void btrfs_update_global_block_rsv(struct btrfs_fs_info *fs_info); fs_info 80 fs/btrfs/block-rsv.h void btrfs_init_global_block_rsv(struct btrfs_fs_info *fs_info); fs_info 81 fs/btrfs/block-rsv.h void btrfs_release_global_block_rsv(struct btrfs_fs_info *fs_info); fs_info 86 fs/btrfs/block-rsv.h static inline void btrfs_block_rsv_release(struct btrfs_fs_info *fs_info, fs_info 90 fs/btrfs/block-rsv.h __btrfs_block_rsv_release(fs_info, block_rsv, num_bytes, NULL); fs_info 93 fs/btrfs/block-rsv.h static inline void btrfs_unuse_block_rsv(struct btrfs_fs_info *fs_info, fs_info 98 fs/btrfs/block-rsv.h btrfs_block_rsv_release(fs_info, block_rsv, 0); fs_info 247 fs/btrfs/btrfs_inode.h if (root == root->fs_info->tree_root && fs_info 348 fs/btrfs/btrfs_inode.h struct btrfs_super_block *sb = root->fs_info->super_copy; fs_info 353 fs/btrfs/btrfs_inode.h btrfs_warn_rl(root->fs_info, fs_info 361 fs/btrfs/btrfs_inode.h btrfs_warn_rl(root->fs_info, fs_info 244 fs/btrfs/check-integrity.c struct btrfs_fs_info *fs_info; fs_info 702 fs/btrfs/check-integrity.c num_copies = btrfs_num_copies(state->fs_info, next_bytenr, fs_info 768 fs/btrfs/check-integrity.c struct btrfs_fs_info *fs_info = state->fs_info; fs_info 818 fs/btrfs/check-integrity.c btrfs_info_in_rcu(fs_info, fs_info 873 fs/btrfs/check-integrity.c num_copies = btrfs_num_copies(fs_info, next_bytenr, fs_info 1239 fs/btrfs/check-integrity.c struct btrfs_fs_info *fs_info = state->fs_info; fs_info 1248 fs/btrfs/check-integrity.c *num_copiesp = btrfs_num_copies(fs_info, next_bytenr, fs_info 1375 fs/btrfs/check-integrity.c struct btrfs_fs_info *fs_info = state->fs_info; fs_info 1442 fs/btrfs/check-integrity.c num_copies = btrfs_num_copies(fs_info, next_bytenr, fs_info 1518 fs/btrfs/check-integrity.c struct btrfs_fs_info *fs_info = state->fs_info; fs_info 1525 fs/btrfs/check-integrity.c ret = btrfs_map_block(fs_info, BTRFS_MAP_READ, fs_info 1712 fs/btrfs/check-integrity.c struct btrfs_fs_info *fs_info = state->fs_info; fs_info 1713 fs/btrfs/check-integrity.c SHASH_DESC_ON_STACK(shash, fs_info->csum_shash); fs_info 1723 fs/btrfs/check-integrity.c if (memcmp(h->fsid, fs_info->fs_devices->fsid, BTRFS_FSID_SIZE)) fs_info 1726 fs/btrfs/check-integrity.c shash->tfm = fs_info->csum_shash; fs_info 2187 fs/btrfs/check-integrity.c struct btrfs_fs_info *fs_info = state->fs_info; fs_info 2261 fs/btrfs/check-integrity.c num_copies = btrfs_num_copies(fs_info, next_bytenr, fs_info 2684 fs/btrfs/check-integrity.c struct btrfs_fs_info *fs_info = state->fs_info; fs_info 2691 fs/btrfs/check-integrity.c num_copies = btrfs_num_copies(fs_info, bytenr, state->metablock_size); fs_info 2889 fs/btrfs/check-integrity.c int btrfsic_mount(struct btrfs_fs_info *fs_info, fs_info 2898 fs/btrfs/check-integrity.c if (!PAGE_ALIGNED(fs_info->nodesize)) { fs_info 2900 fs/btrfs/check-integrity.c fs_info->nodesize, PAGE_SIZE); fs_info 2903 fs/btrfs/check-integrity.c if (!PAGE_ALIGNED(fs_info->sectorsize)) { fs_info 2905 fs/btrfs/check-integrity.c fs_info->sectorsize, PAGE_SIZE); fs_info 2920 fs/btrfs/check-integrity.c state->fs_info = fs_info; fs_info 2924 fs/btrfs/check-integrity.c state->metablock_size = fs_info->nodesize; fs_info 2925 fs/btrfs/check-integrity.c state->datablock_size = fs_info->sectorsize; fs_info 19 fs/btrfs/check-integrity.h int btrfsic_mount(struct btrfs_fs_info *fs_info, fs_info 65 fs/btrfs/compression.c static inline int compressed_bio_size(struct btrfs_fs_info *fs_info, fs_info 68 fs/btrfs/compression.c u16 csum_size = btrfs_super_csum_size(fs_info->super_copy); fs_info 71 fs/btrfs/compression.c (DIV_ROUND_UP(disk_size, fs_info->sectorsize)) * csum_size; fs_info 78 fs/btrfs/compression.c struct btrfs_fs_info *fs_info = inode->root->fs_info; fs_info 79 fs/btrfs/compression.c SHASH_DESC_ON_STACK(shash, fs_info->csum_shash); fs_info 80 fs/btrfs/compression.c const u16 csum_size = btrfs_super_csum_size(fs_info->super_copy); fs_info 91 fs/btrfs/compression.c shash->tfm = fs_info->csum_shash; fs_info 316 fs/btrfs/compression.c struct btrfs_fs_info *fs_info = btrfs_sb(inode->i_sb); fs_info 328 fs/btrfs/compression.c cb = kmalloc(compressed_bio_size(fs_info, compressed_len), GFP_NOFS); fs_info 342 fs/btrfs/compression.c bdev = fs_info->fs_devices->latest_bdev; fs_info 372 fs/btrfs/compression.c ret = btrfs_bio_wq_end_io(fs_info, bio, fs_info 381 fs/btrfs/compression.c ret = btrfs_map_bio(fs_info, bio, 0, 1); fs_info 395 fs/btrfs/compression.c btrfs_info(fs_info, fs_info 404 fs/btrfs/compression.c ret = btrfs_bio_wq_end_io(fs_info, bio, BTRFS_WQ_ENDIO_DATA); fs_info 412 fs/btrfs/compression.c ret = btrfs_map_bio(fs_info, bio, 0, 1); fs_info 549 fs/btrfs/compression.c struct btrfs_fs_info *fs_info = btrfs_sb(inode->i_sb); fs_info 564 fs/btrfs/compression.c const u16 csum_size = btrfs_super_csum_size(fs_info->super_copy); fs_info 579 fs/btrfs/compression.c cb = kmalloc(compressed_bio_size(fs_info, compressed_len), GFP_NOFS); fs_info 607 fs/btrfs/compression.c bdev = fs_info->fs_devices->latest_bdev; fs_info 649 fs/btrfs/compression.c ret = btrfs_bio_wq_end_io(fs_info, comp_bio, fs_info 668 fs/btrfs/compression.c fs_info->sectorsize); fs_info 671 fs/btrfs/compression.c ret = btrfs_map_bio(fs_info, comp_bio, mirror_num, 0); fs_info 688 fs/btrfs/compression.c ret = btrfs_bio_wq_end_io(fs_info, comp_bio, BTRFS_WQ_ENDIO_DATA); fs_info 696 fs/btrfs/compression.c ret = btrfs_map_bio(fs_info, comp_bio, mirror_num, 0); fs_info 194 fs/btrfs/ctree.c struct btrfs_fs_info *fs_info = root->fs_info; fs_info 200 fs/btrfs/ctree.c spin_lock(&fs_info->trans_lock); fs_info 205 fs/btrfs/ctree.c &fs_info->dirty_cowonly_roots); fs_info 208 fs/btrfs/ctree.c &fs_info->dirty_cowonly_roots); fs_info 210 fs/btrfs/ctree.c spin_unlock(&fs_info->trans_lock); fs_info 223 fs/btrfs/ctree.c struct btrfs_fs_info *fs_info = root->fs_info; fs_info 230 fs/btrfs/ctree.c trans->transid != fs_info->running_transaction->transid); fs_info 256 fs/btrfs/ctree.c write_extent_buffer_fsid(cow, fs_info->fs_devices->metadata_uuid); fs_info 316 fs/btrfs/ctree.c static inline u64 btrfs_inc_tree_mod_seq(struct btrfs_fs_info *fs_info) fs_info 318 fs/btrfs/ctree.c return atomic64_inc_return(&fs_info->tree_mod_seq); fs_info 329 fs/btrfs/ctree.c u64 btrfs_get_tree_mod_seq(struct btrfs_fs_info *fs_info, fs_info 332 fs/btrfs/ctree.c write_lock(&fs_info->tree_mod_log_lock); fs_info 334 fs/btrfs/ctree.c elem->seq = btrfs_inc_tree_mod_seq(fs_info); fs_info 335 fs/btrfs/ctree.c list_add_tail(&elem->list, &fs_info->tree_mod_seq_list); fs_info 337 fs/btrfs/ctree.c write_unlock(&fs_info->tree_mod_log_lock); fs_info 342 fs/btrfs/ctree.c void btrfs_put_tree_mod_seq(struct btrfs_fs_info *fs_info, fs_info 356 fs/btrfs/ctree.c write_lock(&fs_info->tree_mod_log_lock); fs_info 360 fs/btrfs/ctree.c list_for_each_entry(cur_elem, &fs_info->tree_mod_seq_list, list) { fs_info 367 fs/btrfs/ctree.c write_unlock(&fs_info->tree_mod_log_lock); fs_info 378 fs/btrfs/ctree.c tm_root = &fs_info->tree_mod_log; fs_info 387 fs/btrfs/ctree.c write_unlock(&fs_info->tree_mod_log_lock); fs_info 399 fs/btrfs/ctree.c __tree_mod_log_insert(struct btrfs_fs_info *fs_info, struct tree_mod_elem *tm) fs_info 406 fs/btrfs/ctree.c lockdep_assert_held_write(&fs_info->tree_mod_log_lock); fs_info 408 fs/btrfs/ctree.c tm->seq = btrfs_inc_tree_mod_seq(fs_info); fs_info 410 fs/btrfs/ctree.c tm_root = &fs_info->tree_mod_log; fs_info 438 fs/btrfs/ctree.c static inline int tree_mod_dont_log(struct btrfs_fs_info *fs_info, fs_info 441 fs/btrfs/ctree.c if (list_empty(&(fs_info)->tree_mod_seq_list)) fs_info 446 fs/btrfs/ctree.c write_lock(&fs_info->tree_mod_log_lock); fs_info 447 fs/btrfs/ctree.c if (list_empty(&(fs_info)->tree_mod_seq_list)) { fs_info 448 fs/btrfs/ctree.c write_unlock(&fs_info->tree_mod_log_lock); fs_info 456 fs/btrfs/ctree.c static inline int tree_mod_need_log(const struct btrfs_fs_info *fs_info, fs_info 460 fs/btrfs/ctree.c if (list_empty(&(fs_info)->tree_mod_seq_list)) fs_info 497 fs/btrfs/ctree.c if (!tree_mod_need_log(eb->fs_info, eb)) fs_info 504 fs/btrfs/ctree.c if (tree_mod_dont_log(eb->fs_info, eb)) { fs_info 509 fs/btrfs/ctree.c ret = __tree_mod_log_insert(eb->fs_info, tm); fs_info 510 fs/btrfs/ctree.c write_unlock(&eb->fs_info->tree_mod_log_lock); fs_info 526 fs/btrfs/ctree.c if (!tree_mod_need_log(eb->fs_info, eb)) fs_info 554 fs/btrfs/ctree.c if (tree_mod_dont_log(eb->fs_info, eb)) fs_info 564 fs/btrfs/ctree.c ret = __tree_mod_log_insert(eb->fs_info, tm_list[i]); fs_info 569 fs/btrfs/ctree.c ret = __tree_mod_log_insert(eb->fs_info, tm); fs_info 572 fs/btrfs/ctree.c write_unlock(&eb->fs_info->tree_mod_log_lock); fs_info 579 fs/btrfs/ctree.c rb_erase(&tm_list[i]->node, &eb->fs_info->tree_mod_log); fs_info 583 fs/btrfs/ctree.c write_unlock(&eb->fs_info->tree_mod_log_lock); fs_info 591 fs/btrfs/ctree.c __tree_mod_log_free_eb(struct btrfs_fs_info *fs_info, fs_info 599 fs/btrfs/ctree.c ret = __tree_mod_log_insert(fs_info, tm_list[i]); fs_info 603 fs/btrfs/ctree.c &fs_info->tree_mod_log); fs_info 614 fs/btrfs/ctree.c struct btrfs_fs_info *fs_info = old_root->fs_info; fs_info 621 fs/btrfs/ctree.c if (!tree_mod_need_log(fs_info, NULL)) fs_info 654 fs/btrfs/ctree.c if (tree_mod_dont_log(fs_info, NULL)) fs_info 658 fs/btrfs/ctree.c ret = __tree_mod_log_free_eb(fs_info, tm_list, nritems); fs_info 660 fs/btrfs/ctree.c ret = __tree_mod_log_insert(fs_info, tm); fs_info 662 fs/btrfs/ctree.c write_unlock(&fs_info->tree_mod_log_lock); fs_info 681 fs/btrfs/ctree.c __tree_mod_log_search(struct btrfs_fs_info *fs_info, u64 start, u64 min_seq, fs_info 689 fs/btrfs/ctree.c read_lock(&fs_info->tree_mod_log_lock); fs_info 690 fs/btrfs/ctree.c tm_root = &fs_info->tree_mod_log; fs_info 717 fs/btrfs/ctree.c read_unlock(&fs_info->tree_mod_log_lock); fs_info 728 fs/btrfs/ctree.c tree_mod_log_search_oldest(struct btrfs_fs_info *fs_info, u64 start, fs_info 731 fs/btrfs/ctree.c return __tree_mod_log_search(fs_info, start, min_seq, 1); fs_info 740 fs/btrfs/ctree.c tree_mod_log_search(struct btrfs_fs_info *fs_info, u64 start, u64 min_seq) fs_info 742 fs/btrfs/ctree.c return __tree_mod_log_search(fs_info, start, min_seq, 0); fs_info 749 fs/btrfs/ctree.c struct btrfs_fs_info *fs_info = dst->fs_info; fs_info 756 fs/btrfs/ctree.c if (!tree_mod_need_log(fs_info, NULL)) fs_info 785 fs/btrfs/ctree.c if (tree_mod_dont_log(fs_info, NULL)) fs_info 790 fs/btrfs/ctree.c ret = __tree_mod_log_insert(fs_info, tm_list_rem[i]); fs_info 793 fs/btrfs/ctree.c ret = __tree_mod_log_insert(fs_info, tm_list_add[i]); fs_info 798 fs/btrfs/ctree.c write_unlock(&fs_info->tree_mod_log_lock); fs_info 806 fs/btrfs/ctree.c rb_erase(&tm_list[i]->node, &fs_info->tree_mod_log); fs_info 810 fs/btrfs/ctree.c write_unlock(&fs_info->tree_mod_log_lock); fs_info 826 fs/btrfs/ctree.c if (!tree_mod_need_log(eb->fs_info, NULL)) fs_info 843 fs/btrfs/ctree.c if (tree_mod_dont_log(eb->fs_info, eb)) fs_info 846 fs/btrfs/ctree.c ret = __tree_mod_log_free_eb(eb->fs_info, tm_list, nritems); fs_info 847 fs/btrfs/ctree.c write_unlock(&eb->fs_info->tree_mod_log_lock); fs_info 890 fs/btrfs/ctree.c struct btrfs_fs_info *fs_info = root->fs_info; fs_info 915 fs/btrfs/ctree.c ret = btrfs_lookup_extent_info(trans, fs_info, buf->start, fs_info 922 fs/btrfs/ctree.c btrfs_handle_fs_error(fs_info, ret, NULL); fs_info 1004 fs/btrfs/ctree.c struct btrfs_fs_info *fs_info = root->fs_info; fs_info 1023 fs/btrfs/ctree.c if (root == fs_info->extent_root || fs_info 1024 fs/btrfs/ctree.c root == fs_info->chunk_root || fs_info 1025 fs/btrfs/ctree.c root == fs_info->dev_root || fs_info 1026 fs/btrfs/ctree.c root == fs_info->free_space_root) fs_info 1056 fs/btrfs/ctree.c struct btrfs_fs_info *fs_info = root->fs_info; fs_info 1070 fs/btrfs/ctree.c trans->transid != fs_info->running_transaction->transid); fs_info 1102 fs/btrfs/ctree.c write_extent_buffer_fsid(cow, fs_info->fs_devices->metadata_uuid); fs_info 1182 fs/btrfs/ctree.c tm = tree_mod_log_search_oldest(eb_root->fs_info, root_logical, fs_info 1220 fs/btrfs/ctree.c __tree_mod_log_rewind(struct btrfs_fs_info *fs_info, struct extent_buffer *eb, fs_info 1231 fs/btrfs/ctree.c read_lock(&fs_info->tree_mod_log_lock); fs_info 1286 fs/btrfs/ctree.c read_unlock(&fs_info->tree_mod_log_lock); fs_info 1298 fs/btrfs/ctree.c tree_mod_log_rewind(struct btrfs_fs_info *fs_info, struct btrfs_path *path, fs_info 1310 fs/btrfs/ctree.c tm = tree_mod_log_search(fs_info, eb->start, time_seq); fs_info 1319 fs/btrfs/ctree.c eb_rewin = alloc_dummy_extent_buffer(fs_info, eb->start); fs_info 1343 fs/btrfs/ctree.c __tree_mod_log_rewind(fs_info, eb_rewin, time_seq, tm); fs_info 1345 fs/btrfs/ctree.c BTRFS_NODEPTRS_PER_BLOCK(fs_info)); fs_info 1360 fs/btrfs/ctree.c struct btrfs_fs_info *fs_info = root->fs_info; fs_info 1386 fs/btrfs/ctree.c tm = tree_mod_log_search(fs_info, logical, time_seq); fs_info 1390 fs/btrfs/ctree.c old = read_tree_block(fs_info, logical, 0, level, NULL); fs_info 1394 fs/btrfs/ctree.c btrfs_warn(fs_info, fs_info 1405 fs/btrfs/ctree.c eb = alloc_dummy_extent_buffer(fs_info, logical); fs_info 1424 fs/btrfs/ctree.c __tree_mod_log_rewind(fs_info, eb, time_seq, tm); fs_info 1427 fs/btrfs/ctree.c WARN_ON(btrfs_header_nritems(eb) > BTRFS_NODEPTRS_PER_BLOCK(fs_info)); fs_info 1453 fs/btrfs/ctree.c if (btrfs_is_testing(root->fs_info)) fs_info 1489 fs/btrfs/ctree.c struct btrfs_fs_info *fs_info = root->fs_info; fs_info 1494 fs/btrfs/ctree.c btrfs_err(fs_info, fs_info 1497 fs/btrfs/ctree.c if (trans->transaction != fs_info->running_transaction) fs_info 1500 fs/btrfs/ctree.c fs_info->running_transaction->transid); fs_info 1502 fs/btrfs/ctree.c if (trans->transid != fs_info->generation) fs_info 1504 fs/btrfs/ctree.c trans->transid, fs_info->generation); fs_info 1589 fs/btrfs/ctree.c struct btrfs_fs_info *fs_info = root->fs_info; fs_info 1608 fs/btrfs/ctree.c WARN_ON(trans->transaction != fs_info->running_transaction); fs_info 1609 fs/btrfs/ctree.c WARN_ON(trans->transid != fs_info->generation); fs_info 1612 fs/btrfs/ctree.c blocksize = fs_info->nodesize; fs_info 1648 fs/btrfs/ctree.c cur = find_extent_buffer(fs_info, blocknr); fs_info 1655 fs/btrfs/ctree.c cur = read_tree_block(fs_info, blocknr, gen, fs_info 1724 fs/btrfs/ctree.c btrfs_err(eb->fs_info, fs_info 1826 fs/btrfs/ctree.c eb = read_tree_block(parent->fs_info, btrfs_node_blockptr(parent, slot), fs_info 1846 fs/btrfs/ctree.c struct btrfs_fs_info *fs_info = root->fs_info; fs_info 1886 fs/btrfs/ctree.c btrfs_handle_fs_error(fs_info, ret, NULL); fs_info 1920 fs/btrfs/ctree.c BTRFS_NODEPTRS_PER_BLOCK(fs_info) / 4) fs_info 1998 fs/btrfs/ctree.c btrfs_handle_fs_error(fs_info, ret, NULL); fs_info 2074 fs/btrfs/ctree.c struct btrfs_fs_info *fs_info = root->fs_info; fs_info 2110 fs/btrfs/ctree.c if (left_nr >= BTRFS_NODEPTRS_PER_BLOCK(fs_info) - 1) { fs_info 2164 fs/btrfs/ctree.c if (right_nr >= BTRFS_NODEPTRS_PER_BLOCK(fs_info) - 1) { fs_info 2211 fs/btrfs/ctree.c static void reada_for_search(struct btrfs_fs_info *fs_info, fs_info 2235 fs/btrfs/ctree.c blocksize = fs_info->nodesize; fs_info 2236 fs/btrfs/ctree.c eb = find_extent_buffer(fs_info, search); fs_info 2265 fs/btrfs/ctree.c readahead_tree_block(fs_info, search); fs_info 2274 fs/btrfs/ctree.c static noinline void reada_for_balance(struct btrfs_fs_info *fs_info, fs_info 2295 fs/btrfs/ctree.c eb = find_extent_buffer(fs_info, block1); fs_info 2308 fs/btrfs/ctree.c eb = find_extent_buffer(fs_info, block2); fs_info 2315 fs/btrfs/ctree.c readahead_tree_block(fs_info, block1); fs_info 2317 fs/btrfs/ctree.c readahead_tree_block(fs_info, block2); fs_info 2416 fs/btrfs/ctree.c struct btrfs_fs_info *fs_info = root->fs_info; fs_info 2430 fs/btrfs/ctree.c tmp = find_extent_buffer(fs_info, blocknr); fs_info 2478 fs/btrfs/ctree.c reada_for_search(fs_info, p, level, slot, key->objectid); fs_info 2481 fs/btrfs/ctree.c tmp = read_tree_block(fs_info, blocknr, gen, parent_level - 1, fs_info 2516 fs/btrfs/ctree.c struct btrfs_fs_info *fs_info = root->fs_info; fs_info 2520 fs/btrfs/ctree.c BTRFS_NODEPTRS_PER_BLOCK(fs_info) - 3) { fs_info 2530 fs/btrfs/ctree.c reada_for_balance(fs_info, p, level); fs_info 2540 fs/btrfs/ctree.c BTRFS_NODEPTRS_PER_BLOCK(fs_info) / 2) { fs_info 2550 fs/btrfs/ctree.c reada_for_balance(fs_info, p, level); fs_info 2624 fs/btrfs/ctree.c struct btrfs_fs_info *fs_info = root->fs_info; fs_info 2643 fs/btrfs/ctree.c down_read(&fs_info->commit_root_sem); fs_info 2645 fs/btrfs/ctree.c up_read(&fs_info->commit_root_sem); fs_info 2979 fs/btrfs/ctree.c struct btrfs_fs_info *fs_info = root->fs_info; fs_info 3056 fs/btrfs/ctree.c b = tree_mod_log_rewind(fs_info, p, b, time_seq); fs_info 3193 fs/btrfs/ctree.c void btrfs_set_item_key_safe(struct btrfs_fs_info *fs_info, fs_info 3206 fs/btrfs/ctree.c btrfs_crit(fs_info, fs_info 3220 fs/btrfs/ctree.c btrfs_crit(fs_info, fs_info 3250 fs/btrfs/ctree.c struct btrfs_fs_info *fs_info = trans->fs_info; fs_info 3258 fs/btrfs/ctree.c push_items = BTRFS_NODEPTRS_PER_BLOCK(fs_info) - dst_nritems; fs_info 3324 fs/btrfs/ctree.c struct btrfs_fs_info *fs_info = trans->fs_info; fs_info 3336 fs/btrfs/ctree.c push_items = BTRFS_NODEPTRS_PER_BLOCK(fs_info) - dst_nritems; fs_info 3389 fs/btrfs/ctree.c struct btrfs_fs_info *fs_info = root->fs_info; fs_info 3411 fs/btrfs/ctree.c root_add_used(root, fs_info->nodesize); fs_info 3460 fs/btrfs/ctree.c BUG_ON(nritems == BTRFS_NODEPTRS_PER_BLOCK(trans->fs_info)); fs_info 3498 fs/btrfs/ctree.c struct btrfs_fs_info *fs_info = root->fs_info; fs_info 3526 fs/btrfs/ctree.c BTRFS_NODEPTRS_PER_BLOCK(fs_info) - 3) fs_info 3541 fs/btrfs/ctree.c root_add_used(root, fs_info->nodesize); fs_info 3610 fs/btrfs/ctree.c struct btrfs_fs_info *fs_info = leaf->fs_info; fs_info 3614 fs/btrfs/ctree.c ret = BTRFS_LEAF_DATA_SIZE(fs_info) - leaf_space_used(leaf, 0, nritems); fs_info 3616 fs/btrfs/ctree.c btrfs_crit(fs_info, fs_info 3619 fs/btrfs/ctree.c (unsigned long) BTRFS_LEAF_DATA_SIZE(fs_info), fs_info 3635 fs/btrfs/ctree.c struct btrfs_fs_info *fs_info = right->fs_info; fs_info 3704 fs/btrfs/ctree.c BTRFS_LEAF_DATA_SIZE(fs_info) - data_end); fs_info 3708 fs/btrfs/ctree.c BTRFS_LEAF_DATA_SIZE(fs_info) - push_space, fs_info 3725 fs/btrfs/ctree.c push_space = BTRFS_LEAF_DATA_SIZE(fs_info); fs_info 3863 fs/btrfs/ctree.c struct btrfs_fs_info *fs_info = left->fs_info; fs_info 3919 fs/btrfs/ctree.c push_space = BTRFS_LEAF_DATA_SIZE(fs_info) - fs_info 3939 fs/btrfs/ctree.c ioff - (BTRFS_LEAF_DATA_SIZE(fs_info) - old_left_item_size), fs_info 3953 fs/btrfs/ctree.c BTRFS_LEAF_DATA_SIZE(fs_info) - push_space, fs_info 3966 fs/btrfs/ctree.c push_space = BTRFS_LEAF_DATA_SIZE(fs_info); fs_info 4087 fs/btrfs/ctree.c struct btrfs_fs_info *fs_info = trans->fs_info; fs_info 4103 fs/btrfs/ctree.c BTRFS_LEAF_DATA_OFFSET + BTRFS_LEAF_DATA_SIZE(fs_info) - fs_info 4107 fs/btrfs/ctree.c rt_data_off = BTRFS_LEAF_DATA_SIZE(fs_info) - btrfs_item_end_nr(l, mid); fs_info 4223 fs/btrfs/ctree.c struct btrfs_fs_info *fs_info = root->fs_info; fs_info 4233 fs/btrfs/ctree.c sizeof(struct btrfs_item) > BTRFS_LEAF_DATA_SIZE(fs_info)) fs_info 4278 fs/btrfs/ctree.c BTRFS_LEAF_DATA_SIZE(fs_info)) { fs_info 4285 fs/btrfs/ctree.c data_size > BTRFS_LEAF_DATA_SIZE(fs_info)) { fs_info 4294 fs/btrfs/ctree.c BTRFS_LEAF_DATA_SIZE(fs_info)) { fs_info 4303 fs/btrfs/ctree.c data_size > BTRFS_LEAF_DATA_SIZE(fs_info)) { fs_info 4322 fs/btrfs/ctree.c root_add_used(root, fs_info->nodesize); fs_info 4704 fs/btrfs/ctree.c btrfs_crit(leaf->fs_info, "slot %d too large, nritems %d", fs_info 4749 fs/btrfs/ctree.c struct btrfs_fs_info *fs_info = root->fs_info; fs_info 4773 fs/btrfs/ctree.c btrfs_crit(fs_info, "not enough freespace need %u have %d", fs_info 4784 fs/btrfs/ctree.c btrfs_crit(fs_info, "slot %d old_data %d data_end %d", fs_info 4976 fs/btrfs/ctree.c struct btrfs_fs_info *fs_info = root->fs_info; fs_info 5040 fs/btrfs/ctree.c if (used < BTRFS_LEAF_DATA_SIZE(fs_info) / 3) { fs_info 367 fs/btrfs/ctree.h #define BTRFS_MAX_EXTENT_ITEM_SIZE(r) ((BTRFS_LEAF_DATA_SIZE(r->fs_info) >> 4) - \ fs_info 485 fs/btrfs/ctree.h bool btrfs_pinned_by_swapfile(struct btrfs_fs_info *fs_info, void *ptr); fs_info 970 fs/btrfs/ctree.h struct btrfs_fs_info *fs_info; fs_info 1196 fs/btrfs/ctree.h #define btrfs_test_opt(fs_info, opt) ((fs_info)->mount_opt & \ fs_info 1199 fs/btrfs/ctree.h #define btrfs_set_and_info(fs_info, opt, fmt, args...) \ fs_info 1201 fs/btrfs/ctree.h if (!btrfs_test_opt(fs_info, opt)) \ fs_info 1202 fs/btrfs/ctree.h btrfs_info(fs_info, fmt, ##args); \ fs_info 1203 fs/btrfs/ctree.h btrfs_set_opt(fs_info->mount_opt, opt); \ fs_info 1206 fs/btrfs/ctree.h #define btrfs_clear_and_info(fs_info, opt, fmt, args...) \ fs_info 1208 fs/btrfs/ctree.h if (btrfs_test_opt(fs_info, opt)) \ fs_info 1209 fs/btrfs/ctree.h btrfs_info(fs_info, fmt, ##args); \ fs_info 1210 fs/btrfs/ctree.h btrfs_clear_opt(fs_info->mount_opt, opt); \ fs_info 1295 fs/btrfs/ctree.h #define BTRFS_BYTES_TO_BLKS(fs_info, bytes) \ fs_info 1296 fs/btrfs/ctree.h ((bytes) >> (fs_info)->sb->s_blocksize_bits) fs_info 1409 fs/btrfs/ctree.h WARN_ON(!IS_ALIGNED(val, eb->fs_info->sectorsize)); fs_info 2175 fs/btrfs/ctree.h return BTRFS_LEAF_DATA_SIZE(leaf->fs_info); fs_info 2374 fs/btrfs/ctree.h u64 btrfs_csum_bytes_to_leaves(struct btrfs_fs_info *fs_info, u64 csum_bytes); fs_info 2380 fs/btrfs/ctree.h static inline u64 btrfs_calc_insert_metadata_size(struct btrfs_fs_info *fs_info, fs_info 2383 fs/btrfs/ctree.h return (u64)fs_info->nodesize * BTRFS_MAX_LEVEL * 2 * num_items; fs_info 2390 fs/btrfs/ctree.h static inline u64 btrfs_calc_metadata_size(struct btrfs_fs_info *fs_info, fs_info 2393 fs/btrfs/ctree.h return (u64)fs_info->nodesize * BTRFS_MAX_LEVEL * num_items; fs_info 2396 fs/btrfs/ctree.h int btrfs_add_excluded_extent(struct btrfs_fs_info *fs_info, fs_info 2401 fs/btrfs/ctree.h void btrfs_cleanup_ref_head_accounting(struct btrfs_fs_info *fs_info, fs_info 2404 fs/btrfs/ctree.h int btrfs_lookup_data_extent(struct btrfs_fs_info *fs_info, u64 start, u64 len); fs_info 2406 fs/btrfs/ctree.h struct btrfs_fs_info *fs_info, u64 bytenr, fs_info 2408 fs/btrfs/ctree.h int btrfs_pin_extent(struct btrfs_fs_info *fs_info, fs_info 2410 fs/btrfs/ctree.h int btrfs_pin_extent_for_log_replay(struct btrfs_fs_info *fs_info, fs_info 2444 fs/btrfs/ctree.h int btrfs_free_reserved_extent(struct btrfs_fs_info *fs_info, fs_info 2446 fs/btrfs/ctree.h int btrfs_free_and_pin_reserved_extent(struct btrfs_fs_info *fs_info, fs_info 2448 fs/btrfs/ctree.h void btrfs_prepare_extent_commit(struct btrfs_fs_info *fs_info); fs_info 2453 fs/btrfs/ctree.h int btrfs_extent_readonly(struct btrfs_fs_info *fs_info, u64 bytenr); fs_info 2486 fs/btrfs/ctree.h void btrfs_subvolume_release_metadata(struct btrfs_fs_info *fs_info, fs_info 2492 fs/btrfs/ctree.h int btrfs_error_unpin_extent_range(struct btrfs_fs_info *fs_info, fs_info 2494 fs/btrfs/ctree.h int btrfs_discard_extent(struct btrfs_fs_info *fs_info, u64 bytenr, fs_info 2496 fs/btrfs/ctree.h int btrfs_trim_fs(struct btrfs_fs_info *fs_info, struct fstrim_range *range); fs_info 2498 fs/btrfs/ctree.h int btrfs_init_space_info(struct btrfs_fs_info *fs_info); fs_info 2500 fs/btrfs/ctree.h struct btrfs_fs_info *fs_info); fs_info 2514 fs/btrfs/ctree.h void btrfs_set_item_key_safe(struct btrfs_fs_info *fs_info, fs_info 2624 fs/btrfs/ctree.h static inline int btrfs_fs_closing(struct btrfs_fs_info *fs_info) fs_info 2629 fs/btrfs/ctree.h if (test_bit(BTRFS_FS_CLOSING_START, &fs_info->flags)) { fs_info 2630 fs/btrfs/ctree.h if (test_bit(BTRFS_FS_CLOSING_DONE, &fs_info->flags)) fs_info 2642 fs/btrfs/ctree.h static inline int btrfs_need_cleaner_sleep(struct btrfs_fs_info *fs_info) fs_info 2644 fs/btrfs/ctree.h return fs_info->sb->s_flags & SB_RDONLY || btrfs_fs_closing(fs_info); fs_info 2647 fs/btrfs/ctree.h static inline void free_fs_info(struct btrfs_fs_info *fs_info) fs_info 2649 fs/btrfs/ctree.h kfree(fs_info->balance_ctl); fs_info 2650 fs/btrfs/ctree.h kfree(fs_info->delayed_root); fs_info 2651 fs/btrfs/ctree.h kfree(fs_info->extent_root); fs_info 2652 fs/btrfs/ctree.h kfree(fs_info->tree_root); fs_info 2653 fs/btrfs/ctree.h kfree(fs_info->chunk_root); fs_info 2654 fs/btrfs/ctree.h kfree(fs_info->dev_root); fs_info 2655 fs/btrfs/ctree.h kfree(fs_info->csum_root); fs_info 2656 fs/btrfs/ctree.h kfree(fs_info->quota_root); fs_info 2657 fs/btrfs/ctree.h kfree(fs_info->uuid_root); fs_info 2658 fs/btrfs/ctree.h kfree(fs_info->free_space_root); fs_info 2659 fs/btrfs/ctree.h kfree(fs_info->super_copy); fs_info 2660 fs/btrfs/ctree.h kfree(fs_info->super_for_commit); fs_info 2661 fs/btrfs/ctree.h kvfree(fs_info); fs_info 2665 fs/btrfs/ctree.h u64 btrfs_get_tree_mod_seq(struct btrfs_fs_info *fs_info, fs_info 2667 fs/btrfs/ctree.h void btrfs_put_tree_mod_seq(struct btrfs_fs_info *fs_info, fs_info 2690 fs/btrfs/ctree.h int btrfs_find_orphan_roots(struct btrfs_fs_info *fs_info); fs_info 2702 fs/btrfs/ctree.h int btrfs_uuid_tree_iterate(struct btrfs_fs_info *fs_info, fs_info 2741 fs/btrfs/ctree.h struct btrfs_dir_item *btrfs_match_dir_item_name(struct btrfs_fs_info *fs_info, fs_info 2841 fs/btrfs/ctree.h int btrfs_start_delalloc_roots(struct btrfs_fs_info *fs_info, int nr); fs_info 2888 fs/btrfs/ctree.h void btrfs_run_delayed_iputs(struct btrfs_fs_info *fs_info); fs_info 2889 fs/btrfs/ctree.h int btrfs_wait_on_delayed_iputs(struct btrfs_fs_info *fs_info); fs_info 2916 fs/btrfs/ctree.h void btrfs_update_ioctl_balance_args(struct btrfs_fs_info *fs_info, fs_info 2924 fs/btrfs/ctree.h int btrfs_run_defrag_inodes(struct btrfs_fs_info *fs_info); fs_info 2925 fs/btrfs/ctree.h void btrfs_cleanup_defrag_inodes(struct btrfs_fs_info *fs_info); fs_info 2965 fs/btrfs/ctree.h void btrfs_no_printk(const struct btrfs_fs_info *fs_info, const char *fmt, ...) fs_info 2972 fs/btrfs/ctree.h void btrfs_printk(const struct btrfs_fs_info *fs_info, const char *fmt, ...); fs_info 2974 fs/btrfs/ctree.h #define btrfs_printk(fs_info, fmt, args...) \ fs_info 2975 fs/btrfs/ctree.h btrfs_no_printk(fs_info, fmt, ##args) fs_info 2978 fs/btrfs/ctree.h #define btrfs_emerg(fs_info, fmt, args...) \ fs_info 2979 fs/btrfs/ctree.h btrfs_printk(fs_info, KERN_EMERG fmt, ##args) fs_info 2980 fs/btrfs/ctree.h #define btrfs_alert(fs_info, fmt, args...) \ fs_info 2981 fs/btrfs/ctree.h btrfs_printk(fs_info, KERN_ALERT fmt, ##args) fs_info 2982 fs/btrfs/ctree.h #define btrfs_crit(fs_info, fmt, args...) \ fs_info 2983 fs/btrfs/ctree.h btrfs_printk(fs_info, KERN_CRIT fmt, ##args) fs_info 2984 fs/btrfs/ctree.h #define btrfs_err(fs_info, fmt, args...) \ fs_info 2985 fs/btrfs/ctree.h btrfs_printk(fs_info, KERN_ERR fmt, ##args) fs_info 2986 fs/btrfs/ctree.h #define btrfs_warn(fs_info, fmt, args...) \ fs_info 2987 fs/btrfs/ctree.h btrfs_printk(fs_info, KERN_WARNING fmt, ##args) fs_info 2988 fs/btrfs/ctree.h #define btrfs_notice(fs_info, fmt, args...) \ fs_info 2989 fs/btrfs/ctree.h btrfs_printk(fs_info, KERN_NOTICE fmt, ##args) fs_info 2990 fs/btrfs/ctree.h #define btrfs_info(fs_info, fmt, args...) \ fs_info 2991 fs/btrfs/ctree.h btrfs_printk(fs_info, KERN_INFO fmt, ##args) fs_info 2996 fs/btrfs/ctree.h #define btrfs_emerg_in_rcu(fs_info, fmt, args...) \ fs_info 2997 fs/btrfs/ctree.h btrfs_printk_in_rcu(fs_info, KERN_EMERG fmt, ##args) fs_info 2998 fs/btrfs/ctree.h #define btrfs_alert_in_rcu(fs_info, fmt, args...) \ fs_info 2999 fs/btrfs/ctree.h btrfs_printk_in_rcu(fs_info, KERN_ALERT fmt, ##args) fs_info 3000 fs/btrfs/ctree.h #define btrfs_crit_in_rcu(fs_info, fmt, args...) \ fs_info 3001 fs/btrfs/ctree.h btrfs_printk_in_rcu(fs_info, KERN_CRIT fmt, ##args) fs_info 3002 fs/btrfs/ctree.h #define btrfs_err_in_rcu(fs_info, fmt, args...) \ fs_info 3003 fs/btrfs/ctree.h btrfs_printk_in_rcu(fs_info, KERN_ERR fmt, ##args) fs_info 3004 fs/btrfs/ctree.h #define btrfs_warn_in_rcu(fs_info, fmt, args...) \ fs_info 3005 fs/btrfs/ctree.h btrfs_printk_in_rcu(fs_info, KERN_WARNING fmt, ##args) fs_info 3006 fs/btrfs/ctree.h #define btrfs_notice_in_rcu(fs_info, fmt, args...) \ fs_info 3007 fs/btrfs/ctree.h btrfs_printk_in_rcu(fs_info, KERN_NOTICE fmt, ##args) fs_info 3008 fs/btrfs/ctree.h #define btrfs_info_in_rcu(fs_info, fmt, args...) \ fs_info 3009 fs/btrfs/ctree.h btrfs_printk_in_rcu(fs_info, KERN_INFO fmt, ##args) fs_info 3014 fs/btrfs/ctree.h #define btrfs_emerg_rl_in_rcu(fs_info, fmt, args...) \ fs_info 3015 fs/btrfs/ctree.h btrfs_printk_rl_in_rcu(fs_info, KERN_EMERG fmt, ##args) fs_info 3016 fs/btrfs/ctree.h #define btrfs_alert_rl_in_rcu(fs_info, fmt, args...) \ fs_info 3017 fs/btrfs/ctree.h btrfs_printk_rl_in_rcu(fs_info, KERN_ALERT fmt, ##args) fs_info 3018 fs/btrfs/ctree.h #define btrfs_crit_rl_in_rcu(fs_info, fmt, args...) \ fs_info 3019 fs/btrfs/ctree.h btrfs_printk_rl_in_rcu(fs_info, KERN_CRIT fmt, ##args) fs_info 3020 fs/btrfs/ctree.h #define btrfs_err_rl_in_rcu(fs_info, fmt, args...) \ fs_info 3021 fs/btrfs/ctree.h btrfs_printk_rl_in_rcu(fs_info, KERN_ERR fmt, ##args) fs_info 3022 fs/btrfs/ctree.h #define btrfs_warn_rl_in_rcu(fs_info, fmt, args...) \ fs_info 3023 fs/btrfs/ctree.h btrfs_printk_rl_in_rcu(fs_info, KERN_WARNING fmt, ##args) fs_info 3024 fs/btrfs/ctree.h #define btrfs_notice_rl_in_rcu(fs_info, fmt, args...) \ fs_info 3025 fs/btrfs/ctree.h btrfs_printk_rl_in_rcu(fs_info, KERN_NOTICE fmt, ##args) fs_info 3026 fs/btrfs/ctree.h #define btrfs_info_rl_in_rcu(fs_info, fmt, args...) \ fs_info 3027 fs/btrfs/ctree.h btrfs_printk_rl_in_rcu(fs_info, KERN_INFO fmt, ##args) fs_info 3032 fs/btrfs/ctree.h #define btrfs_emerg_rl(fs_info, fmt, args...) \ fs_info 3033 fs/btrfs/ctree.h btrfs_printk_ratelimited(fs_info, KERN_EMERG fmt, ##args) fs_info 3034 fs/btrfs/ctree.h #define btrfs_alert_rl(fs_info, fmt, args...) \ fs_info 3035 fs/btrfs/ctree.h btrfs_printk_ratelimited(fs_info, KERN_ALERT fmt, ##args) fs_info 3036 fs/btrfs/ctree.h #define btrfs_crit_rl(fs_info, fmt, args...) \ fs_info 3037 fs/btrfs/ctree.h btrfs_printk_ratelimited(fs_info, KERN_CRIT fmt, ##args) fs_info 3038 fs/btrfs/ctree.h #define btrfs_err_rl(fs_info, fmt, args...) \ fs_info 3039 fs/btrfs/ctree.h btrfs_printk_ratelimited(fs_info, KERN_ERR fmt, ##args) fs_info 3040 fs/btrfs/ctree.h #define btrfs_warn_rl(fs_info, fmt, args...) \ fs_info 3041 fs/btrfs/ctree.h btrfs_printk_ratelimited(fs_info, KERN_WARNING fmt, ##args) fs_info 3042 fs/btrfs/ctree.h #define btrfs_notice_rl(fs_info, fmt, args...) \ fs_info 3043 fs/btrfs/ctree.h btrfs_printk_ratelimited(fs_info, KERN_NOTICE fmt, ##args) fs_info 3044 fs/btrfs/ctree.h #define btrfs_info_rl(fs_info, fmt, args...) \ fs_info 3045 fs/btrfs/ctree.h btrfs_printk_ratelimited(fs_info, KERN_INFO fmt, ##args) fs_info 3048 fs/btrfs/ctree.h #define btrfs_debug(fs_info, fmt, args...) \ fs_info 3050 fs/btrfs/ctree.h fs_info, KERN_DEBUG fmt, ##args) fs_info 3051 fs/btrfs/ctree.h #define btrfs_debug_in_rcu(fs_info, fmt, args...) \ fs_info 3053 fs/btrfs/ctree.h fs_info, KERN_DEBUG fmt, ##args) fs_info 3054 fs/btrfs/ctree.h #define btrfs_debug_rl_in_rcu(fs_info, fmt, args...) \ fs_info 3056 fs/btrfs/ctree.h fs_info, KERN_DEBUG fmt, ##args) fs_info 3057 fs/btrfs/ctree.h #define btrfs_debug_rl(fs_info, fmt, args...) \ fs_info 3059 fs/btrfs/ctree.h fs_info, KERN_DEBUG fmt, ##args) fs_info 3061 fs/btrfs/ctree.h #define btrfs_debug(fs_info, fmt, args...) \ fs_info 3062 fs/btrfs/ctree.h btrfs_printk(fs_info, KERN_DEBUG fmt, ##args) fs_info 3063 fs/btrfs/ctree.h #define btrfs_debug_in_rcu(fs_info, fmt, args...) \ fs_info 3064 fs/btrfs/ctree.h btrfs_printk_in_rcu(fs_info, KERN_DEBUG fmt, ##args) fs_info 3065 fs/btrfs/ctree.h #define btrfs_debug_rl_in_rcu(fs_info, fmt, args...) \ fs_info 3066 fs/btrfs/ctree.h btrfs_printk_rl_in_rcu(fs_info, KERN_DEBUG fmt, ##args) fs_info 3067 fs/btrfs/ctree.h #define btrfs_debug_rl(fs_info, fmt, args...) \ fs_info 3068 fs/btrfs/ctree.h btrfs_printk_ratelimited(fs_info, KERN_DEBUG fmt, ##args) fs_info 3070 fs/btrfs/ctree.h #define btrfs_debug(fs_info, fmt, args...) \ fs_info 3071 fs/btrfs/ctree.h btrfs_no_printk(fs_info, KERN_DEBUG fmt, ##args) fs_info 3072 fs/btrfs/ctree.h #define btrfs_debug_in_rcu(fs_info, fmt, args...) \ fs_info 3073 fs/btrfs/ctree.h btrfs_no_printk_in_rcu(fs_info, KERN_DEBUG fmt, ##args) fs_info 3074 fs/btrfs/ctree.h #define btrfs_debug_rl_in_rcu(fs_info, fmt, args...) \ fs_info 3075 fs/btrfs/ctree.h btrfs_no_printk_in_rcu(fs_info, KERN_DEBUG fmt, ##args) fs_info 3076 fs/btrfs/ctree.h #define btrfs_debug_rl(fs_info, fmt, args...) \ fs_info 3077 fs/btrfs/ctree.h btrfs_no_printk(fs_info, KERN_DEBUG fmt, ##args) fs_info 3080 fs/btrfs/ctree.h #define btrfs_printk_in_rcu(fs_info, fmt, args...) \ fs_info 3083 fs/btrfs/ctree.h btrfs_printk(fs_info, fmt, ##args); \ fs_info 3087 fs/btrfs/ctree.h #define btrfs_no_printk_in_rcu(fs_info, fmt, args...) \ fs_info 3090 fs/btrfs/ctree.h btrfs_no_printk(fs_info, fmt, ##args); \ fs_info 3094 fs/btrfs/ctree.h #define btrfs_printk_ratelimited(fs_info, fmt, args...) \ fs_info 3100 fs/btrfs/ctree.h btrfs_printk(fs_info, fmt, ##args); \ fs_info 3103 fs/btrfs/ctree.h #define btrfs_printk_rl_in_rcu(fs_info, fmt, args...) \ fs_info 3106 fs/btrfs/ctree.h btrfs_printk_ratelimited(fs_info, fmt, ##args); \ fs_info 3137 fs/btrfs/ctree.h static inline void btrfs_print_v0_err(struct btrfs_fs_info *fs_info) fs_info 3139 fs/btrfs/ctree.h btrfs_err(fs_info, fs_info 3145 fs/btrfs/ctree.h void __btrfs_handle_fs_error(struct btrfs_fs_info *fs_info, const char *function, fs_info 3163 fs/btrfs/ctree.h &((trans)->fs_info->fs_state))) { \ fs_info 3169 fs/btrfs/ctree.h btrfs_debug((trans)->fs_info, \ fs_info 3178 fs/btrfs/ctree.h #define btrfs_handle_fs_error(fs_info, errno, fmt, args...) \ fs_info 3180 fs/btrfs/ctree.h __btrfs_handle_fs_error((fs_info), __func__, __LINE__, \ fs_info 3186 fs/btrfs/ctree.h void __btrfs_panic(struct btrfs_fs_info *fs_info, const char *function, fs_info 3192 fs/btrfs/ctree.h #define btrfs_panic(fs_info, errno, fmt, args...) \ fs_info 3194 fs/btrfs/ctree.h __btrfs_panic(fs_info, __func__, __LINE__, errno, fmt, ##args); \ fs_info 3205 fs/btrfs/ctree.h static inline void __btrfs_set_fs_incompat(struct btrfs_fs_info *fs_info, fs_info 3211 fs/btrfs/ctree.h disk_super = fs_info->super_copy; fs_info 3214 fs/btrfs/ctree.h spin_lock(&fs_info->super_lock); fs_info 3219 fs/btrfs/ctree.h btrfs_info(fs_info, fs_info 3223 fs/btrfs/ctree.h spin_unlock(&fs_info->super_lock); fs_info 3231 fs/btrfs/ctree.h static inline void __btrfs_clear_fs_incompat(struct btrfs_fs_info *fs_info, fs_info 3237 fs/btrfs/ctree.h disk_super = fs_info->super_copy; fs_info 3240 fs/btrfs/ctree.h spin_lock(&fs_info->super_lock); fs_info 3245 fs/btrfs/ctree.h btrfs_info(fs_info, fs_info 3249 fs/btrfs/ctree.h spin_unlock(&fs_info->super_lock); fs_info 3253 fs/btrfs/ctree.h #define btrfs_fs_incompat(fs_info, opt) \ fs_info 3254 fs/btrfs/ctree.h __btrfs_fs_incompat((fs_info), BTRFS_FEATURE_INCOMPAT_##opt) fs_info 3256 fs/btrfs/ctree.h static inline bool __btrfs_fs_incompat(struct btrfs_fs_info *fs_info, u64 flag) fs_info 3259 fs/btrfs/ctree.h disk_super = fs_info->super_copy; fs_info 3267 fs/btrfs/ctree.h static inline void __btrfs_set_fs_compat_ro(struct btrfs_fs_info *fs_info, fs_info 3273 fs/btrfs/ctree.h disk_super = fs_info->super_copy; fs_info 3276 fs/btrfs/ctree.h spin_lock(&fs_info->super_lock); fs_info 3281 fs/btrfs/ctree.h btrfs_info(fs_info, fs_info 3285 fs/btrfs/ctree.h spin_unlock(&fs_info->super_lock); fs_info 3293 fs/btrfs/ctree.h static inline void __btrfs_clear_fs_compat_ro(struct btrfs_fs_info *fs_info, fs_info 3299 fs/btrfs/ctree.h disk_super = fs_info->super_copy; fs_info 3302 fs/btrfs/ctree.h spin_lock(&fs_info->super_lock); fs_info 3307 fs/btrfs/ctree.h btrfs_info(fs_info, fs_info 3311 fs/btrfs/ctree.h spin_unlock(&fs_info->super_lock); fs_info 3315 fs/btrfs/ctree.h #define btrfs_fs_compat_ro(fs_info, opt) \ fs_info 3316 fs/btrfs/ctree.h __btrfs_fs_compat_ro((fs_info), BTRFS_FEATURE_COMPAT_RO_##opt) fs_info 3318 fs/btrfs/ctree.h static inline int __btrfs_fs_compat_ro(struct btrfs_fs_info *fs_info, u64 flag) fs_info 3321 fs/btrfs/ctree.h disk_super = fs_info->super_copy; fs_info 3342 fs/btrfs/ctree.h int btrfs_relocate_block_group(struct btrfs_fs_info *fs_info, u64 group_start); fs_info 3358 fs/btrfs/ctree.h int btrfs_scrub_dev(struct btrfs_fs_info *fs_info, u64 devid, u64 start, fs_info 3361 fs/btrfs/ctree.h void btrfs_scrub_pause(struct btrfs_fs_info *fs_info); fs_info 3362 fs/btrfs/ctree.h void btrfs_scrub_continue(struct btrfs_fs_info *fs_info); fs_info 3365 fs/btrfs/ctree.h int btrfs_scrub_progress(struct btrfs_fs_info *fs_info, u64 devid, fs_info 3375 fs/btrfs/ctree.h void btrfs_bio_counter_inc_blocked(struct btrfs_fs_info *fs_info); fs_info 3376 fs/btrfs/ctree.h void btrfs_bio_counter_inc_noblocked(struct btrfs_fs_info *fs_info); fs_info 3377 fs/btrfs/ctree.h void btrfs_bio_counter_sub(struct btrfs_fs_info *fs_info, s64 amount); fs_info 3379 fs/btrfs/ctree.h static inline void btrfs_bio_counter_dec(struct btrfs_fs_info *fs_info) fs_info 3381 fs/btrfs/ctree.h btrfs_bio_counter_sub(fs_info, 1); fs_info 3386 fs/btrfs/ctree.h struct btrfs_fs_info *fs_info; /* tree to prefetch */ fs_info 3408 fs/btrfs/ctree.h static inline int btrfs_defrag_cancelled(struct btrfs_fs_info *fs_info) fs_info 3420 fs/btrfs/ctree.h static inline int btrfs_is_testing(struct btrfs_fs_info *fs_info) fs_info 3422 fs/btrfs/ctree.h return test_bit(BTRFS_FS_STATE_DUMMY_FS_INFO, &fs_info->fs_state); fs_info 3425 fs/btrfs/ctree.h static inline int btrfs_is_testing(struct btrfs_fs_info *fs_info) fs_info 15 fs/btrfs/delalloc-space.c struct btrfs_fs_info *fs_info = root->fs_info; fs_info 16 fs/btrfs/delalloc-space.c struct btrfs_space_info *data_sinfo = fs_info->data_sinfo; fs_info 23 fs/btrfs/delalloc-space.c bytes = ALIGN(bytes, fs_info->sectorsize); fs_info 48 fs/btrfs/delalloc-space.c alloc_target = btrfs_data_alloc_profile(fs_info); fs_info 95 fs/btrfs/delalloc-space.c btrfs_start_delalloc_roots(fs_info, -1); fs_info 96 fs/btrfs/delalloc-space.c btrfs_wait_ordered_roots(fs_info, U64_MAX, 0, fs_info 118 fs/btrfs/delalloc-space.c ret = btrfs_wait_on_delayed_iputs(fs_info); fs_info 127 fs/btrfs/delalloc-space.c trace_btrfs_space_reservation(fs_info, fs_info 132 fs/btrfs/delalloc-space.c btrfs_space_info_update_bytes_may_use(fs_info, data_sinfo, bytes); fs_info 141 fs/btrfs/delalloc-space.c struct btrfs_fs_info *fs_info = btrfs_sb(inode->i_sb); fs_info 145 fs/btrfs/delalloc-space.c len = round_up(start + len, fs_info->sectorsize) - fs_info 146 fs/btrfs/delalloc-space.c round_down(start, fs_info->sectorsize); fs_info 147 fs/btrfs/delalloc-space.c start = round_down(start, fs_info->sectorsize); fs_info 173 fs/btrfs/delalloc-space.c struct btrfs_fs_info *fs_info = btrfs_sb(inode->i_sb); fs_info 177 fs/btrfs/delalloc-space.c len = round_up(start + len, fs_info->sectorsize) - fs_info 178 fs/btrfs/delalloc-space.c round_down(start, fs_info->sectorsize); fs_info 179 fs/btrfs/delalloc-space.c start = round_down(start, fs_info->sectorsize); fs_info 181 fs/btrfs/delalloc-space.c data_sinfo = fs_info->data_sinfo; fs_info 183 fs/btrfs/delalloc-space.c btrfs_space_info_update_bytes_may_use(fs_info, data_sinfo, -len); fs_info 200 fs/btrfs/delalloc-space.c len = round_up(start + len, root->fs_info->sectorsize) - fs_info 201 fs/btrfs/delalloc-space.c round_down(start, root->fs_info->sectorsize); fs_info 202 fs/btrfs/delalloc-space.c start = round_down(start, root->fs_info->sectorsize); fs_info 221 fs/btrfs/delalloc-space.c struct btrfs_fs_info *fs_info = inode->root->fs_info; fs_info 231 fs/btrfs/delalloc-space.c released = __btrfs_block_rsv_release(fs_info, block_rsv, 0, fs_info 234 fs/btrfs/delalloc-space.c trace_btrfs_space_reservation(fs_info, "delalloc", fs_info 243 fs/btrfs/delalloc-space.c static void btrfs_calculate_inode_block_rsv_size(struct btrfs_fs_info *fs_info, fs_info 260 fs/btrfs/delalloc-space.c reserve_size = btrfs_calc_insert_metadata_size(fs_info, fs_info 262 fs/btrfs/delalloc-space.c reserve_size += btrfs_calc_metadata_size(fs_info, 1); fs_info 264 fs/btrfs/delalloc-space.c csum_leaves = btrfs_csum_bytes_to_leaves(fs_info, fs_info 266 fs/btrfs/delalloc-space.c reserve_size += btrfs_calc_insert_metadata_size(fs_info, fs_info 274 fs/btrfs/delalloc-space.c qgroup_rsv_size = (u64)outstanding_extents * fs_info->nodesize; fs_info 282 fs/btrfs/delalloc-space.c static void calc_inode_reservations(struct btrfs_fs_info *fs_info, fs_info 287 fs/btrfs/delalloc-space.c u64 csum_leaves = btrfs_csum_bytes_to_leaves(fs_info, num_bytes); fs_info 288 fs/btrfs/delalloc-space.c u64 inode_update = btrfs_calc_metadata_size(fs_info, 1); fs_info 290 fs/btrfs/delalloc-space.c *meta_reserve = btrfs_calc_insert_metadata_size(fs_info, fs_info 298 fs/btrfs/delalloc-space.c *qgroup_reserve = nr_extents * fs_info->nodesize; fs_info 304 fs/btrfs/delalloc-space.c struct btrfs_fs_info *fs_info = root->fs_info; fs_info 328 fs/btrfs/delalloc-space.c if (btrfs_transaction_in_commit(fs_info)) fs_info 335 fs/btrfs/delalloc-space.c num_bytes = ALIGN(num_bytes, fs_info->sectorsize); fs_info 347 fs/btrfs/delalloc-space.c calc_inode_reservations(fs_info, num_bytes, &meta_reserve, fs_info 366 fs/btrfs/delalloc-space.c btrfs_calculate_inode_block_rsv_size(fs_info, inode); fs_info 371 fs/btrfs/delalloc-space.c trace_btrfs_space_reservation(root->fs_info, "delalloc", fs_info 402 fs/btrfs/delalloc-space.c struct btrfs_fs_info *fs_info = inode->root->fs_info; fs_info 404 fs/btrfs/delalloc-space.c num_bytes = ALIGN(num_bytes, fs_info->sectorsize); fs_info 407 fs/btrfs/delalloc-space.c btrfs_calculate_inode_block_rsv_size(fs_info, inode); fs_info 410 fs/btrfs/delalloc-space.c if (btrfs_is_testing(fs_info)) fs_info 429 fs/btrfs/delalloc-space.c struct btrfs_fs_info *fs_info = inode->root->fs_info; fs_info 435 fs/btrfs/delalloc-space.c btrfs_calculate_inode_block_rsv_size(fs_info, inode); fs_info 438 fs/btrfs/delalloc-space.c if (btrfs_is_testing(fs_info)) fs_info 231 fs/btrfs/delayed-inode.c delayed_root = node->root->fs_info->delayed_root; fs_info 260 fs/btrfs/delayed-inode.c delayed_root = delayed_node->root->fs_info->delayed_root; fs_info 446 fs/btrfs/delayed-inode.c atomic_inc(&delayed_node->root->fs_info->delayed_root->items); fs_info 482 fs/btrfs/delayed-inode.c delayed_root = delayed_item->delayed_node->root->fs_info->delayed_root; fs_info 553 fs/btrfs/delayed-inode.c struct btrfs_fs_info *fs_info = root->fs_info; fs_info 561 fs/btrfs/delayed-inode.c dst_rsv = &fs_info->delayed_block_rsv; fs_info 563 fs/btrfs/delayed-inode.c num_bytes = btrfs_calc_insert_metadata_size(fs_info, 1); fs_info 572 fs/btrfs/delayed-inode.c trace_btrfs_space_reservation(fs_info, "delayed_item", fs_info 585 fs/btrfs/delayed-inode.c struct btrfs_fs_info *fs_info = root->fs_info; fs_info 590 fs/btrfs/delayed-inode.c rsv = &fs_info->delayed_block_rsv; fs_info 595 fs/btrfs/delayed-inode.c trace_btrfs_space_reservation(fs_info, "delayed_item", fs_info 598 fs/btrfs/delayed-inode.c btrfs_block_rsv_release(fs_info, rsv, fs_info 608 fs/btrfs/delayed-inode.c struct btrfs_fs_info *fs_info = root->fs_info; fs_info 615 fs/btrfs/delayed-inode.c dst_rsv = &fs_info->delayed_block_rsv; fs_info 617 fs/btrfs/delayed-inode.c num_bytes = btrfs_calc_metadata_size(fs_info, 1); fs_info 631 fs/btrfs/delayed-inode.c fs_info->nodesize, true); fs_info 648 fs/btrfs/delayed-inode.c trace_btrfs_space_reservation(fs_info, fs_info 653 fs/btrfs/delayed-inode.c btrfs_qgroup_free_meta_prealloc(root, fs_info->nodesize); fs_info 660 fs/btrfs/delayed-inode.c trace_btrfs_space_reservation(fs_info, "delayed_inode", fs_info 668 fs/btrfs/delayed-inode.c static void btrfs_delayed_inode_release_metadata(struct btrfs_fs_info *fs_info, fs_info 677 fs/btrfs/delayed-inode.c rsv = &fs_info->delayed_block_rsv; fs_info 678 fs/btrfs/delayed-inode.c trace_btrfs_space_reservation(fs_info, "delayed_inode", fs_info 680 fs/btrfs/delayed-inode.c btrfs_block_rsv_release(fs_info, rsv, fs_info 995 fs/btrfs/delayed-inode.c delayed_root = delayed_node->root->fs_info->delayed_root; fs_info 1008 fs/btrfs/delayed-inode.c delayed_root = delayed_node->root->fs_info->delayed_root; fs_info 1017 fs/btrfs/delayed-inode.c struct btrfs_fs_info *fs_info = root->fs_info; fs_info 1077 fs/btrfs/delayed-inode.c btrfs_delayed_inode_release_metadata(fs_info, node, (ret < 0)); fs_info 1146 fs/btrfs/delayed-inode.c struct btrfs_fs_info *fs_info = trans->fs_info; fs_info 1163 fs/btrfs/delayed-inode.c trans->block_rsv = &fs_info->delayed_block_rsv; fs_info 1165 fs/btrfs/delayed-inode.c delayed_root = fs_info->delayed_root; fs_info 1228 fs/btrfs/delayed-inode.c trans->block_rsv = &delayed_node->root->fs_info->delayed_block_rsv; fs_info 1241 fs/btrfs/delayed-inode.c struct btrfs_fs_info *fs_info = inode->root->fs_info; fs_info 1273 fs/btrfs/delayed-inode.c trans->block_rsv = &fs_info->delayed_block_rsv; fs_info 1287 fs/btrfs/delayed-inode.c btrfs_btree_balance_dirty(fs_info); fs_info 1351 fs/btrfs/delayed-inode.c trans->block_rsv = &root->fs_info->delayed_block_rsv; fs_info 1357 fs/btrfs/delayed-inode.c btrfs_btree_balance_dirty_nodelay(root->fs_info); fs_info 1374 fs/btrfs/delayed-inode.c struct btrfs_fs_info *fs_info, int nr) fs_info 1387 fs/btrfs/delayed-inode.c btrfs_queue_work(fs_info->delayed_workers, &async_work->work); fs_info 1391 fs/btrfs/delayed-inode.c void btrfs_assert_delayed_root_empty(struct btrfs_fs_info *fs_info) fs_info 1393 fs/btrfs/delayed-inode.c WARN_ON(btrfs_first_delayed_node(fs_info->delayed_root)); fs_info 1409 fs/btrfs/delayed-inode.c void btrfs_balance_delayed_items(struct btrfs_fs_info *fs_info) fs_info 1411 fs/btrfs/delayed-inode.c struct btrfs_delayed_root *delayed_root = fs_info->delayed_root; fs_info 1414 fs/btrfs/delayed-inode.c btrfs_workqueue_normal_congested(fs_info->delayed_workers)) fs_info 1423 fs/btrfs/delayed-inode.c ret = btrfs_wq_run_delayed_node(delayed_root, fs_info, 0); fs_info 1432 fs/btrfs/delayed-inode.c btrfs_wq_run_delayed_node(delayed_root, fs_info, BTRFS_DELAYED_BATCH); fs_info 1479 fs/btrfs/delayed-inode.c btrfs_err(trans->fs_info, fs_info 1492 fs/btrfs/delayed-inode.c static int btrfs_delete_delayed_insertion_item(struct btrfs_fs_info *fs_info, fs_info 1527 fs/btrfs/delayed-inode.c ret = btrfs_delete_delayed_insertion_item(trans->fs_info, node, fs_info 1546 fs/btrfs/delayed-inode.c btrfs_err(trans->fs_info, fs_info 1555 fs/btrfs/delayed-inode.c btrfs_err(trans->fs_info, fs_info 1852 fs/btrfs/delayed-inode.c atomic_inc(&root->fs_info->delayed_root->items); fs_info 1861 fs/btrfs/delayed-inode.c struct btrfs_fs_info *fs_info = inode->root->fs_info; fs_info 1869 fs/btrfs/delayed-inode.c if (test_bit(BTRFS_FS_LOG_RECOVERING, &fs_info->flags)) fs_info 1896 fs/btrfs/delayed-inode.c atomic_inc(&fs_info->delayed_root->items); fs_info 1906 fs/btrfs/delayed-inode.c struct btrfs_fs_info *fs_info = root->fs_info; fs_info 1930 fs/btrfs/delayed-inode.c btrfs_delayed_inode_release_metadata(fs_info, delayed_node, false); fs_info 1984 fs/btrfs/delayed-inode.c void btrfs_destroy_delayed_inodes(struct btrfs_fs_info *fs_info) fs_info 1988 fs/btrfs/delayed-inode.c curr_node = btrfs_first_delayed_node(fs_info->delayed_root); fs_info 102 fs/btrfs/delayed-inode.h void btrfs_balance_delayed_items(struct btrfs_fs_info *fs_info); fs_info 121 fs/btrfs/delayed-inode.h void btrfs_destroy_delayed_inodes(struct btrfs_fs_info *fs_info); fs_info 140 fs/btrfs/delayed-inode.h void btrfs_assert_delayed_root_empty(struct btrfs_fs_info *fs_info); fs_info 28 fs/btrfs/delayed-ref.c bool btrfs_check_space_for_delayed_refs(struct btrfs_fs_info *fs_info) fs_info 30 fs/btrfs/delayed-ref.c struct btrfs_block_rsv *delayed_refs_rsv = &fs_info->delayed_refs_rsv; fs_info 31 fs/btrfs/delayed-ref.c struct btrfs_block_rsv *global_rsv = &fs_info->global_block_rsv; fs_info 61 fs/btrfs/delayed-ref.c avg_runtime = trans->fs_info->avg_delayed_ref_runtime; fs_info 68 fs/btrfs/delayed-ref.c return btrfs_check_space_for_delayed_refs(trans->fs_info); fs_info 79 fs/btrfs/delayed-ref.c void btrfs_delayed_refs_rsv_release(struct btrfs_fs_info *fs_info, int nr) fs_info 81 fs/btrfs/delayed-ref.c struct btrfs_block_rsv *block_rsv = &fs_info->delayed_refs_rsv; fs_info 82 fs/btrfs/delayed-ref.c u64 num_bytes = btrfs_calc_insert_metadata_size(fs_info, nr); fs_info 85 fs/btrfs/delayed-ref.c released = __btrfs_block_rsv_release(fs_info, block_rsv, num_bytes, fs_info 88 fs/btrfs/delayed-ref.c trace_btrfs_space_reservation(fs_info, "delayed_refs_rsv", fs_info 101 fs/btrfs/delayed-ref.c struct btrfs_fs_info *fs_info = trans->fs_info; fs_info 102 fs/btrfs/delayed-ref.c struct btrfs_block_rsv *delayed_rsv = &fs_info->delayed_refs_rsv; fs_info 108 fs/btrfs/delayed-ref.c num_bytes = btrfs_calc_insert_metadata_size(fs_info, fs_info 126 fs/btrfs/delayed-ref.c void btrfs_migrate_to_delayed_refs_rsv(struct btrfs_fs_info *fs_info, fs_info 130 fs/btrfs/delayed-ref.c struct btrfs_block_rsv *delayed_refs_rsv = &fs_info->delayed_refs_rsv; fs_info 158 fs/btrfs/delayed-ref.c trace_btrfs_space_reservation(fs_info, "delayed_refs_rsv", fs_info 161 fs/btrfs/delayed-ref.c btrfs_space_info_free_bytes_may_use(fs_info, fs_info 173 fs/btrfs/delayed-ref.c int btrfs_delayed_refs_rsv_refill(struct btrfs_fs_info *fs_info, fs_info 176 fs/btrfs/delayed-ref.c struct btrfs_block_rsv *block_rsv = &fs_info->delayed_refs_rsv; fs_info 177 fs/btrfs/delayed-ref.c u64 limit = btrfs_calc_insert_metadata_size(fs_info, 1); fs_info 191 fs/btrfs/delayed-ref.c ret = btrfs_reserve_metadata_bytes(fs_info->extent_root, block_rsv, fs_info 196 fs/btrfs/delayed-ref.c trace_btrfs_space_reservation(fs_info, "delayed_refs_rsv", fs_info 481 fs/btrfs/delayed-ref.c struct btrfs_fs_info *fs_info = trans->fs_info; fs_info 495 fs/btrfs/delayed-ref.c read_lock(&fs_info->tree_mod_log_lock); fs_info 496 fs/btrfs/delayed-ref.c if (!list_empty(&fs_info->tree_mod_seq_list)) { fs_info 499 fs/btrfs/delayed-ref.c elem = list_first_entry(&fs_info->tree_mod_seq_list, fs_info 503 fs/btrfs/delayed-ref.c read_unlock(&fs_info->tree_mod_log_lock); fs_info 516 fs/btrfs/delayed-ref.c int btrfs_check_delayed_seq(struct btrfs_fs_info *fs_info, u64 seq) fs_info 521 fs/btrfs/delayed-ref.c read_lock(&fs_info->tree_mod_log_lock); fs_info 522 fs/btrfs/delayed-ref.c if (!list_empty(&fs_info->tree_mod_seq_list)) { fs_info 523 fs/btrfs/delayed-ref.c elem = list_first_entry(&fs_info->tree_mod_seq_list, fs_info 526 fs/btrfs/delayed-ref.c btrfs_debug(fs_info, fs_info 534 fs/btrfs/delayed-ref.c read_unlock(&fs_info->tree_mod_log_lock); fs_info 657 fs/btrfs/delayed-ref.c struct btrfs_fs_info *fs_info = trans->fs_info; fs_info 716 fs/btrfs/delayed-ref.c btrfs_csum_bytes_to_leaves(fs_info, fs_info 721 fs/btrfs/delayed-ref.c btrfs_delayed_refs_rsv_release(fs_info, csum_leaves); fs_info 813 fs/btrfs/delayed-ref.c if (btrfs_qgroup_trace_extent_nolock(trans->fs_info, fs_info 820 fs/btrfs/delayed-ref.c trace_add_delayed_ref_head(trans->fs_info, head_ref, action); fs_info 839 fs/btrfs/delayed-ref.c btrfs_csum_bytes_to_leaves(trans->fs_info, fs_info 880 fs/btrfs/delayed-ref.c static void init_delayed_ref_common(struct btrfs_fs_info *fs_info, fs_info 891 fs/btrfs/delayed-ref.c seq = atomic64_read(&fs_info->tree_mod_seq); fs_info 916 fs/btrfs/delayed-ref.c struct btrfs_fs_info *fs_info = trans->fs_info; fs_info 945 fs/btrfs/delayed-ref.c if (test_bit(BTRFS_FS_QUOTA_ENABLED, &fs_info->flags) && fs_info 962 fs/btrfs/delayed-ref.c init_delayed_ref_common(fs_info, &ref->node, bytenr, num_bytes, fs_info 993 fs/btrfs/delayed-ref.c trace_add_delayed_tree_ref(fs_info, &ref->node, ref, fs_info 1000 fs/btrfs/delayed-ref.c btrfs_qgroup_trace_extent_post(fs_info, record); fs_info 1013 fs/btrfs/delayed-ref.c struct btrfs_fs_info *fs_info = trans->fs_info; fs_info 1038 fs/btrfs/delayed-ref.c init_delayed_ref_common(fs_info, &ref->node, bytenr, num_bytes, fs_info 1052 fs/btrfs/delayed-ref.c if (test_bit(BTRFS_FS_QUOTA_ENABLED, &fs_info->flags) && fs_info 1089 fs/btrfs/delayed-ref.c trace_add_delayed_data_ref(trans->fs_info, &ref->node, ref, fs_info 1097 fs/btrfs/delayed-ref.c return btrfs_qgroup_trace_extent_post(fs_info, record); fs_info 365 fs/btrfs/delayed-ref.h int btrfs_check_delayed_seq(struct btrfs_fs_info *fs_info, u64 seq); fs_info 367 fs/btrfs/delayed-ref.h void btrfs_delayed_refs_rsv_release(struct btrfs_fs_info *fs_info, int nr); fs_info 369 fs/btrfs/delayed-ref.h int btrfs_delayed_refs_rsv_refill(struct btrfs_fs_info *fs_info, fs_info 371 fs/btrfs/delayed-ref.h void btrfs_migrate_to_delayed_refs_rsv(struct btrfs_fs_info *fs_info, fs_info 375 fs/btrfs/delayed-ref.h bool btrfs_check_space_for_delayed_refs(struct btrfs_fs_info *fs_info); fs_info 25 fs/btrfs/dev-replace.c static int btrfs_dev_replace_finishing(struct btrfs_fs_info *fs_info, fs_info 28 fs/btrfs/dev-replace.c struct btrfs_fs_info *fs_info, fs_info 33 fs/btrfs/dev-replace.c int btrfs_init_dev_replace(struct btrfs_fs_info *fs_info) fs_info 36 fs/btrfs/dev-replace.c struct btrfs_root *dev_root = fs_info->dev_root; fs_info 37 fs/btrfs/dev-replace.c struct btrfs_dev_replace *dev_replace = &fs_info->dev_replace; fs_info 83 fs/btrfs/dev-replace.c btrfs_warn(fs_info, fs_info 115 fs/btrfs/dev-replace.c dev_replace->srcdev = btrfs_find_device(fs_info->fs_devices, fs_info 117 fs/btrfs/dev-replace.c dev_replace->tgtdev = btrfs_find_device(fs_info->fs_devices, fs_info 125 fs/btrfs/dev-replace.c !btrfs_test_opt(fs_info, DEGRADED)) { fs_info 127 fs/btrfs/dev-replace.c btrfs_warn(fs_info, fs_info 129 fs/btrfs/dev-replace.c btrfs_warn(fs_info, fs_info 134 fs/btrfs/dev-replace.c !btrfs_test_opt(fs_info, DEGRADED)) { fs_info 136 fs/btrfs/dev-replace.c btrfs_warn(fs_info, fs_info 138 fs/btrfs/dev-replace.c btrfs_warn(fs_info, fs_info 158 fs/btrfs/dev-replace.c WARN_ON(fs_info->fs_devices->rw_devices == 0); fs_info 159 fs/btrfs/dev-replace.c dev_replace->tgtdev->io_width = fs_info->sectorsize; fs_info 160 fs/btrfs/dev-replace.c dev_replace->tgtdev->io_align = fs_info->sectorsize; fs_info 161 fs/btrfs/dev-replace.c dev_replace->tgtdev->sector_size = fs_info->sectorsize; fs_info 162 fs/btrfs/dev-replace.c dev_replace->tgtdev->fs_info = fs_info; fs_info 180 fs/btrfs/dev-replace.c static int btrfs_init_dev_replace_tgtdev(struct btrfs_fs_info *fs_info, fs_info 193 fs/btrfs/dev-replace.c if (fs_info->fs_devices->seeding) { fs_info 194 fs/btrfs/dev-replace.c btrfs_err(fs_info, "the filesystem is a seed filesystem!"); fs_info 199 fs/btrfs/dev-replace.c fs_info->bdev_holder); fs_info 201 fs/btrfs/dev-replace.c btrfs_err(fs_info, "target device %s is invalid!", device_path); fs_info 207 fs/btrfs/dev-replace.c devices = &fs_info->fs_devices->devices; fs_info 210 fs/btrfs/dev-replace.c btrfs_err(fs_info, fs_info 220 fs/btrfs/dev-replace.c btrfs_err(fs_info, fs_info 243 fs/btrfs/dev-replace.c device->io_width = fs_info->sectorsize; fs_info 244 fs/btrfs/dev-replace.c device->io_align = fs_info->sectorsize; fs_info 245 fs/btrfs/dev-replace.c device->sector_size = fs_info->sectorsize; fs_info 251 fs/btrfs/dev-replace.c device->fs_info = fs_info; fs_info 258 fs/btrfs/dev-replace.c device->fs_devices = fs_info->fs_devices; fs_info 260 fs/btrfs/dev-replace.c mutex_lock(&fs_info->fs_devices->device_list_mutex); fs_info 261 fs/btrfs/dev-replace.c list_add(&device->dev_list, &fs_info->fs_devices->devices); fs_info 262 fs/btrfs/dev-replace.c fs_info->fs_devices->num_devices++; fs_info 263 fs/btrfs/dev-replace.c fs_info->fs_devices->open_devices++; fs_info 264 fs/btrfs/dev-replace.c mutex_unlock(&fs_info->fs_devices->device_list_mutex); fs_info 280 fs/btrfs/dev-replace.c struct btrfs_fs_info *fs_info = trans->fs_info; fs_info 282 fs/btrfs/dev-replace.c struct btrfs_root *dev_root = fs_info->dev_root; fs_info 287 fs/btrfs/dev-replace.c struct btrfs_dev_replace *dev_replace = &fs_info->dev_replace; fs_info 308 fs/btrfs/dev-replace.c btrfs_warn(fs_info, fs_info 329 fs/btrfs/dev-replace.c btrfs_warn(fs_info, fs_info 343 fs/btrfs/dev-replace.c btrfs_warn(fs_info, fs_info 394 fs/btrfs/dev-replace.c static int btrfs_dev_replace_start(struct btrfs_fs_info *fs_info, fs_info 398 fs/btrfs/dev-replace.c struct btrfs_root *root = fs_info->dev_root; fs_info 400 fs/btrfs/dev-replace.c struct btrfs_dev_replace *dev_replace = &fs_info->dev_replace; fs_info 405 fs/btrfs/dev-replace.c src_device = btrfs_find_device_by_devspec(fs_info, srcdevid, fs_info 410 fs/btrfs/dev-replace.c if (btrfs_pinned_by_swapfile(fs_info, src_device)) { fs_info 411 fs/btrfs/dev-replace.c btrfs_warn_in_rcu(fs_info, fs_info 430 fs/btrfs/dev-replace.c ret = btrfs_init_dev_replace_tgtdev(fs_info, tgtdev_name, fs_info 453 fs/btrfs/dev-replace.c btrfs_info_in_rcu(fs_info, fs_info 477 fs/btrfs/dev-replace.c btrfs_err(fs_info, "kobj add dev failed %d", ret); fs_info 479 fs/btrfs/dev-replace.c btrfs_wait_ordered_roots(fs_info, U64_MAX, 0, (u64)-1); fs_info 498 fs/btrfs/dev-replace.c ret = btrfs_scrub_dev(fs_info, src_device->devid, 0, fs_info 502 fs/btrfs/dev-replace.c ret = btrfs_dev_replace_finishing(fs_info, ret); fs_info 516 fs/btrfs/dev-replace.c int btrfs_dev_replace_by_ioctl(struct btrfs_fs_info *fs_info, fs_info 533 fs/btrfs/dev-replace.c ret = btrfs_dev_replace_start(fs_info, args->start.tgtdev_name, fs_info 549 fs/btrfs/dev-replace.c static void btrfs_rm_dev_replace_blocked(struct btrfs_fs_info *fs_info) fs_info 551 fs/btrfs/dev-replace.c set_bit(BTRFS_FS_STATE_DEV_REPLACING, &fs_info->fs_state); fs_info 552 fs/btrfs/dev-replace.c wait_event(fs_info->dev_replace.replace_wait, !percpu_counter_sum( fs_info 553 fs/btrfs/dev-replace.c &fs_info->dev_replace.bio_counter)); fs_info 559 fs/btrfs/dev-replace.c static void btrfs_rm_dev_replace_unblocked(struct btrfs_fs_info *fs_info) fs_info 561 fs/btrfs/dev-replace.c clear_bit(BTRFS_FS_STATE_DEV_REPLACING, &fs_info->fs_state); fs_info 562 fs/btrfs/dev-replace.c wake_up(&fs_info->dev_replace.replace_wait); fs_info 565 fs/btrfs/dev-replace.c static int btrfs_dev_replace_finishing(struct btrfs_fs_info *fs_info, fs_info 568 fs/btrfs/dev-replace.c struct btrfs_dev_replace *dev_replace = &fs_info->dev_replace; fs_info 571 fs/btrfs/dev-replace.c struct btrfs_root *root = fs_info->tree_root; fs_info 596 fs/btrfs/dev-replace.c ret = btrfs_start_delalloc_roots(fs_info, -1); fs_info 601 fs/btrfs/dev-replace.c btrfs_wait_ordered_roots(fs_info, U64_MAX, 0, (u64)-1); fs_info 618 fs/btrfs/dev-replace.c mutex_lock(&fs_info->fs_devices->device_list_mutex); fs_info 620 fs/btrfs/dev-replace.c mutex_lock(&fs_info->chunk_mutex); fs_info 623 fs/btrfs/dev-replace.c mutex_unlock(&fs_info->fs_devices->device_list_mutex); fs_info 624 fs/btrfs/dev-replace.c mutex_unlock(&fs_info->chunk_mutex); fs_info 641 fs/btrfs/dev-replace.c btrfs_dev_replace_update_device_in_mapping_tree(fs_info, fs_info 646 fs/btrfs/dev-replace.c btrfs_err_in_rcu(fs_info, fs_info 652 fs/btrfs/dev-replace.c mutex_unlock(&fs_info->chunk_mutex); fs_info 653 fs/btrfs/dev-replace.c mutex_unlock(&fs_info->fs_devices->device_list_mutex); fs_info 654 fs/btrfs/dev-replace.c btrfs_rm_dev_replace_blocked(fs_info); fs_info 657 fs/btrfs/dev-replace.c btrfs_rm_dev_replace_unblocked(fs_info); fs_info 663 fs/btrfs/dev-replace.c btrfs_info_in_rcu(fs_info, fs_info 682 fs/btrfs/dev-replace.c list_add(&tgt_device->dev_alloc_list, &fs_info->fs_devices->alloc_list); fs_info 683 fs/btrfs/dev-replace.c fs_info->fs_devices->rw_devices++; fs_info 686 fs/btrfs/dev-replace.c btrfs_rm_dev_replace_blocked(fs_info); fs_info 690 fs/btrfs/dev-replace.c btrfs_rm_dev_replace_unblocked(fs_info); fs_info 705 fs/btrfs/dev-replace.c mutex_unlock(&fs_info->chunk_mutex); fs_info 706 fs/btrfs/dev-replace.c mutex_unlock(&fs_info->fs_devices->device_list_mutex); fs_info 709 fs/btrfs/dev-replace.c btrfs_sysfs_rm_device_link(fs_info->fs_devices, src_device); fs_info 723 fs/btrfs/dev-replace.c struct btrfs_fs_info *fs_info, fs_info 727 fs/btrfs/dev-replace.c struct extent_map_tree *em_tree = &fs_info->mapping_tree; fs_info 753 fs/btrfs/dev-replace.c static u64 btrfs_dev_replace_progress(struct btrfs_fs_info *fs_info) fs_info 755 fs/btrfs/dev-replace.c struct btrfs_dev_replace *dev_replace = &fs_info->dev_replace; fs_info 777 fs/btrfs/dev-replace.c void btrfs_dev_replace_status(struct btrfs_fs_info *fs_info, fs_info 780 fs/btrfs/dev-replace.c struct btrfs_dev_replace *dev_replace = &fs_info->dev_replace; fs_info 793 fs/btrfs/dev-replace.c args->status.progress_1000 = btrfs_dev_replace_progress(fs_info); fs_info 797 fs/btrfs/dev-replace.c int btrfs_dev_replace_cancel(struct btrfs_fs_info *fs_info) fs_info 799 fs/btrfs/dev-replace.c struct btrfs_dev_replace *dev_replace = &fs_info->dev_replace; fs_info 803 fs/btrfs/dev-replace.c struct btrfs_root *root = fs_info->tree_root; fs_info 807 fs/btrfs/dev-replace.c if (sb_rdonly(fs_info->sb)) fs_info 823 fs/btrfs/dev-replace.c ret = btrfs_scrub_cancel(fs_info); fs_info 832 fs/btrfs/dev-replace.c btrfs_info_in_rcu(fs_info, fs_info 856 fs/btrfs/dev-replace.c ret = btrfs_scrub_cancel(fs_info); fs_info 867 fs/btrfs/dev-replace.c btrfs_info_in_rcu(fs_info, fs_info 884 fs/btrfs/dev-replace.c void btrfs_dev_replace_suspend_for_unmount(struct btrfs_fs_info *fs_info) fs_info 886 fs/btrfs/dev-replace.c struct btrfs_dev_replace *dev_replace = &fs_info->dev_replace; fs_info 902 fs/btrfs/dev-replace.c btrfs_info(fs_info, "suspending dev_replace for unmount"); fs_info 911 fs/btrfs/dev-replace.c int btrfs_resume_dev_replace_async(struct btrfs_fs_info *fs_info) fs_info 914 fs/btrfs/dev-replace.c struct btrfs_dev_replace *dev_replace = &fs_info->dev_replace; fs_info 932 fs/btrfs/dev-replace.c btrfs_info(fs_info, fs_info 934 fs/btrfs/dev-replace.c btrfs_info(fs_info, fs_info 948 fs/btrfs/dev-replace.c if (test_and_set_bit(BTRFS_FS_EXCL_OP, &fs_info->flags)) { fs_info 953 fs/btrfs/dev-replace.c btrfs_info(fs_info, fs_info 958 fs/btrfs/dev-replace.c task = kthread_run(btrfs_dev_replace_kthread, fs_info, "btrfs-devrepl"); fs_info 964 fs/btrfs/dev-replace.c struct btrfs_fs_info *fs_info = data; fs_info 965 fs/btrfs/dev-replace.c struct btrfs_dev_replace *dev_replace = &fs_info->dev_replace; fs_info 969 fs/btrfs/dev-replace.c progress = btrfs_dev_replace_progress(fs_info); fs_info 971 fs/btrfs/dev-replace.c btrfs_info_in_rcu(fs_info, fs_info 978 fs/btrfs/dev-replace.c ret = btrfs_scrub_dev(fs_info, dev_replace->srcdev->devid, fs_info 982 fs/btrfs/dev-replace.c ret = btrfs_dev_replace_finishing(fs_info, ret); fs_info 985 fs/btrfs/dev-replace.c clear_bit(BTRFS_FS_EXCL_OP, &fs_info->flags); fs_info 1016 fs/btrfs/dev-replace.c void btrfs_bio_counter_inc_noblocked(struct btrfs_fs_info *fs_info) fs_info 1018 fs/btrfs/dev-replace.c percpu_counter_inc(&fs_info->dev_replace.bio_counter); fs_info 1021 fs/btrfs/dev-replace.c void btrfs_bio_counter_sub(struct btrfs_fs_info *fs_info, s64 amount) fs_info 1023 fs/btrfs/dev-replace.c percpu_counter_sub(&fs_info->dev_replace.bio_counter, amount); fs_info 1024 fs/btrfs/dev-replace.c cond_wake_up_nomb(&fs_info->dev_replace.replace_wait); fs_info 1027 fs/btrfs/dev-replace.c void btrfs_bio_counter_inc_blocked(struct btrfs_fs_info *fs_info) fs_info 1030 fs/btrfs/dev-replace.c percpu_counter_inc(&fs_info->dev_replace.bio_counter); fs_info 1032 fs/btrfs/dev-replace.c &fs_info->fs_state))) fs_info 1035 fs/btrfs/dev-replace.c btrfs_bio_counter_dec(fs_info); fs_info 1036 fs/btrfs/dev-replace.c wait_event(fs_info->dev_replace.replace_wait, fs_info 1038 fs/btrfs/dev-replace.c &fs_info->fs_state)); fs_info 11 fs/btrfs/dev-replace.h int btrfs_init_dev_replace(struct btrfs_fs_info *fs_info); fs_info 13 fs/btrfs/dev-replace.h int btrfs_dev_replace_by_ioctl(struct btrfs_fs_info *fs_info, fs_info 15 fs/btrfs/dev-replace.h void btrfs_dev_replace_status(struct btrfs_fs_info *fs_info, fs_info 17 fs/btrfs/dev-replace.h int btrfs_dev_replace_cancel(struct btrfs_fs_info *fs_info); fs_info 18 fs/btrfs/dev-replace.h void btrfs_dev_replace_suspend_for_unmount(struct btrfs_fs_info *fs_info); fs_info 19 fs/btrfs/dev-replace.h int btrfs_resume_dev_replace_async(struct btrfs_fs_info *fs_info); fs_info 27 fs/btrfs/dir-item.c struct btrfs_fs_info *fs_info = root->fs_info; fs_info 36 fs/btrfs/dir-item.c di = btrfs_match_dir_item_name(fs_info, path, name, name_len); fs_info 69 fs/btrfs/dir-item.c if (name_len + data_len > BTRFS_MAX_XATTR_SIZE(root->fs_info)) fs_info 157 fs/btrfs/dir-item.c if (root == root->fs_info->tree_root) { fs_info 201 fs/btrfs/dir-item.c return btrfs_match_dir_item_name(root->fs_info, path, name, name_len); fs_info 237 fs/btrfs/dir-item.c di = btrfs_match_dir_item_name(root->fs_info, path, name, name_len); fs_info 252 fs/btrfs/dir-item.c sizeof(struct btrfs_item) > BTRFS_LEAF_DATA_SIZE(root->fs_info)) { fs_info 292 fs/btrfs/dir-item.c return btrfs_match_dir_item_name(root->fs_info, path, name, name_len); fs_info 333 fs/btrfs/dir-item.c di = btrfs_match_dir_item_name(root->fs_info, path, fs_info 363 fs/btrfs/dir-item.c return btrfs_match_dir_item_name(root->fs_info, path, name, name_len); fs_info 371 fs/btrfs/dir-item.c struct btrfs_dir_item *btrfs_match_dir_item_name(struct btrfs_fs_info *fs_info, fs_info 56 fs/btrfs/disk-io.c struct btrfs_fs_info *fs_info); fs_info 58 fs/btrfs/disk-io.c static int btrfs_destroy_marked_extents(struct btrfs_fs_info *fs_info, fs_info 61 fs/btrfs/disk-io.c static int btrfs_destroy_pinned_extent(struct btrfs_fs_info *fs_info, fs_info 63 fs/btrfs/disk-io.c static int btrfs_cleanup_transaction(struct btrfs_fs_info *fs_info); fs_info 64 fs/btrfs/disk-io.c static void btrfs_error_commit_super(struct btrfs_fs_info *fs_info); fs_info 208 fs/btrfs/disk-io.c struct btrfs_fs_info *fs_info = inode->root->fs_info; fs_info 216 fs/btrfs/disk-io.c em->bdev = fs_info->fs_devices->latest_bdev; fs_info 231 fs/btrfs/disk-io.c em->bdev = fs_info->fs_devices->latest_bdev; fs_info 257 fs/btrfs/disk-io.c struct btrfs_fs_info *fs_info = buf->fs_info; fs_info 258 fs/btrfs/disk-io.c SHASH_DESC_ON_STACK(shash, fs_info->csum_shash); fs_info 267 fs/btrfs/disk-io.c shash->tfm = fs_info->csum_shash; fs_info 327 fs/btrfs/disk-io.c btrfs_err_rl(eb->fs_info, fs_info 365 fs/btrfs/disk-io.c static int btrfs_check_super_csum(struct btrfs_fs_info *fs_info, fs_info 371 fs/btrfs/disk-io.c SHASH_DESC_ON_STACK(shash, fs_info->csum_shash); fs_info 373 fs/btrfs/disk-io.c shash->tfm = fs_info->csum_shash; fs_info 394 fs/btrfs/disk-io.c struct btrfs_fs_info *fs_info = eb->fs_info; fs_info 403 fs/btrfs/disk-io.c btrfs_err(fs_info, fs_info 418 fs/btrfs/disk-io.c if (btrfs_header_generation(eb) > fs_info->last_trans_committed) fs_info 423 fs/btrfs/disk-io.c btrfs_err(fs_info, fs_info 439 fs/btrfs/disk-io.c btrfs_err(fs_info, fs_info 461 fs/btrfs/disk-io.c struct btrfs_fs_info *fs_info = eb->fs_info; fs_info 469 fs/btrfs/disk-io.c io_tree = &BTRFS_I(fs_info->btree_inode)->io_tree; fs_info 484 fs/btrfs/disk-io.c num_copies = btrfs_num_copies(fs_info, fs_info 513 fs/btrfs/disk-io.c static int csum_dirty_buffer(struct btrfs_fs_info *fs_info, struct page *page) fs_info 518 fs/btrfs/disk-io.c u16 csum_size = btrfs_super_csum_size(fs_info->super_copy); fs_info 536 fs/btrfs/disk-io.c ASSERT(memcmp_extent_buffer(eb, fs_info->fs_devices->metadata_uuid, fs_info 548 fs/btrfs/disk-io.c btrfs_err(fs_info, fs_info 560 fs/btrfs/disk-io.c struct btrfs_fs_info *fs_info = eb->fs_info; fs_info 561 fs/btrfs/disk-io.c struct btrfs_fs_devices *fs_devices = fs_info->fs_devices; fs_info 574 fs/btrfs/disk-io.c if (fs_devices == fs_info->fs_devices && fs_info 575 fs/btrfs/disk-io.c btrfs_fs_incompat(fs_info, METADATA_UUID)) fs_info 597 fs/btrfs/disk-io.c struct btrfs_fs_info *fs_info = root->fs_info; fs_info 598 fs/btrfs/disk-io.c u16 csum_size = btrfs_super_csum_size(fs_info->super_copy); fs_info 625 fs/btrfs/disk-io.c btrfs_err_rl(fs_info, "bad tree block start, want %llu have %llu", fs_info 631 fs/btrfs/disk-io.c btrfs_err_rl(fs_info, "bad fsid on block %llu", fs_info 638 fs/btrfs/disk-io.c btrfs_err(fs_info, "bad tree block level %d on %llu", fs_info 658 fs/btrfs/disk-io.c btrfs_warn_rl(fs_info, fs_info 660 fs/btrfs/disk-io.c fs_info->sb->s_id, eb->start, fs_info 682 fs/btrfs/disk-io.c btrfs_err(fs_info, fs_info 707 fs/btrfs/disk-io.c struct btrfs_fs_info *fs_info; fs_info 710 fs/btrfs/disk-io.c fs_info = end_io_wq->info; fs_info 715 fs/btrfs/disk-io.c wq = fs_info->endio_meta_write_workers; fs_info 717 fs/btrfs/disk-io.c wq = fs_info->endio_freespace_worker; fs_info 719 fs/btrfs/disk-io.c wq = fs_info->endio_raid56_workers; fs_info 721 fs/btrfs/disk-io.c wq = fs_info->endio_write_workers; fs_info 724 fs/btrfs/disk-io.c wq = fs_info->endio_repair_workers; fs_info 726 fs/btrfs/disk-io.c wq = fs_info->endio_raid56_workers; fs_info 728 fs/btrfs/disk-io.c wq = fs_info->endio_meta_workers; fs_info 730 fs/btrfs/disk-io.c wq = fs_info->endio_workers; fs_info 810 fs/btrfs/disk-io.c blk_status_t btrfs_wq_submit_bio(struct btrfs_fs_info *fs_info, struct bio *bio, fs_info 836 fs/btrfs/disk-io.c btrfs_queue_work(fs_info->workers, &async->work); fs_info 850 fs/btrfs/disk-io.c ret = csum_dirty_buffer(root->fs_info, bvec->bv_page); fs_info 868 fs/btrfs/disk-io.c static int check_async_write(struct btrfs_fs_info *fs_info, fs_info 873 fs/btrfs/disk-io.c if (test_bit(BTRFS_FS_CSUM_IMPL_FAST, &fs_info->flags)) fs_info 882 fs/btrfs/disk-io.c struct btrfs_fs_info *fs_info = btrfs_sb(inode->i_sb); fs_info 883 fs/btrfs/disk-io.c int async = check_async_write(fs_info, BTRFS_I(inode)); fs_info 891 fs/btrfs/disk-io.c ret = btrfs_bio_wq_end_io(fs_info, bio, fs_info 895 fs/btrfs/disk-io.c ret = btrfs_map_bio(fs_info, bio, mirror_num, 0); fs_info 900 fs/btrfs/disk-io.c ret = btrfs_map_bio(fs_info, bio, mirror_num, 0); fs_info 906 fs/btrfs/disk-io.c ret = btrfs_wq_submit_bio(fs_info, bio, mirror_num, 0, fs_info 946 fs/btrfs/disk-io.c struct btrfs_fs_info *fs_info; fs_info 954 fs/btrfs/disk-io.c fs_info = BTRFS_I(mapping->host)->root->fs_info; fs_info 956 fs/btrfs/disk-io.c ret = __percpu_counter_compare(&fs_info->dirty_metadata_bytes, fs_info 958 fs/btrfs/disk-io.c fs_info->dirty_metadata_batch); fs_info 988 fs/btrfs/disk-io.c btrfs_warn(BTRFS_I(page->mapping->host)->root->fs_info, fs_info 1023 fs/btrfs/disk-io.c void readahead_tree_block(struct btrfs_fs_info *fs_info, u64 bytenr) fs_info 1028 fs/btrfs/disk-io.c buf = btrfs_find_create_tree_block(fs_info, bytenr); fs_info 1040 fs/btrfs/disk-io.c struct btrfs_fs_info *fs_info, fs_info 1043 fs/btrfs/disk-io.c if (btrfs_is_testing(fs_info)) fs_info 1044 fs/btrfs/disk-io.c return alloc_test_extent_buffer(fs_info, bytenr); fs_info 1045 fs/btrfs/disk-io.c return alloc_extent_buffer(fs_info, bytenr); fs_info 1056 fs/btrfs/disk-io.c struct extent_buffer *read_tree_block(struct btrfs_fs_info *fs_info, u64 bytenr, fs_info 1063 fs/btrfs/disk-io.c buf = btrfs_find_create_tree_block(fs_info, bytenr); fs_info 1079 fs/btrfs/disk-io.c struct btrfs_fs_info *fs_info = buf->fs_info; fs_info 1081 fs/btrfs/disk-io.c fs_info->running_transaction->transid) { fs_info 1085 fs/btrfs/disk-io.c percpu_counter_add_batch(&fs_info->dirty_metadata_bytes, fs_info 1087 fs/btrfs/disk-io.c fs_info->dirty_metadata_batch); fs_info 1121 fs/btrfs/disk-io.c static void __setup_root(struct btrfs_root *root, struct btrfs_fs_info *fs_info, fs_info 1124 fs/btrfs/disk-io.c bool dummy = test_bit(BTRFS_FS_STATE_DUMMY_FS_INFO, &fs_info->fs_state); fs_info 1175 fs/btrfs/disk-io.c extent_io_tree_init(fs_info, &root->dirty_log_pages, fs_info 1182 fs/btrfs/disk-io.c root->defrag_trans_start = fs_info->generation; fs_info 1192 fs/btrfs/disk-io.c static struct btrfs_root *btrfs_alloc_root(struct btrfs_fs_info *fs_info, fs_info 1197 fs/btrfs/disk-io.c root->fs_info = fs_info; fs_info 1203 fs/btrfs/disk-io.c struct btrfs_root *btrfs_alloc_dummy_root(struct btrfs_fs_info *fs_info) fs_info 1207 fs/btrfs/disk-io.c if (!fs_info) fs_info 1210 fs/btrfs/disk-io.c root = btrfs_alloc_root(fs_info, GFP_KERNEL); fs_info 1215 fs/btrfs/disk-io.c __setup_root(root, fs_info, BTRFS_ROOT_TREE_OBJECTID); fs_info 1225 fs/btrfs/disk-io.c struct btrfs_fs_info *fs_info = trans->fs_info; fs_info 1227 fs/btrfs/disk-io.c struct btrfs_root *tree_root = fs_info->tree_root; fs_info 1239 fs/btrfs/disk-io.c root = btrfs_alloc_root(fs_info, GFP_KERNEL); fs_info 1244 fs/btrfs/disk-io.c __setup_root(root, fs_info, objectid); fs_info 1299 fs/btrfs/disk-io.c struct btrfs_fs_info *fs_info) fs_info 1304 fs/btrfs/disk-io.c root = btrfs_alloc_root(fs_info, GFP_NOFS); fs_info 1308 fs/btrfs/disk-io.c __setup_root(root, fs_info, BTRFS_TREE_LOG_OBJECTID); fs_info 1338 fs/btrfs/disk-io.c struct btrfs_fs_info *fs_info) fs_info 1342 fs/btrfs/disk-io.c log_root = alloc_log_tree(trans, fs_info); fs_info 1345 fs/btrfs/disk-io.c WARN_ON(fs_info->log_root_tree); fs_info 1346 fs/btrfs/disk-io.c fs_info->log_root_tree = log_root; fs_info 1353 fs/btrfs/disk-io.c struct btrfs_fs_info *fs_info = root->fs_info; fs_info 1357 fs/btrfs/disk-io.c log_root = alloc_log_tree(trans, fs_info); fs_info 1369 fs/btrfs/disk-io.c fs_info->nodesize); fs_info 1386 fs/btrfs/disk-io.c struct btrfs_fs_info *fs_info = tree_root->fs_info; fs_info 1396 fs/btrfs/disk-io.c root = btrfs_alloc_root(fs_info, GFP_NOFS); fs_info 1402 fs/btrfs/disk-io.c __setup_root(root, fs_info, key->objectid); fs_info 1414 fs/btrfs/disk-io.c root->node = read_tree_block(fs_info, fs_info 1500 fs/btrfs/disk-io.c struct btrfs_root *btrfs_lookup_fs_root(struct btrfs_fs_info *fs_info, fs_info 1505 fs/btrfs/disk-io.c spin_lock(&fs_info->fs_roots_radix_lock); fs_info 1506 fs/btrfs/disk-io.c root = radix_tree_lookup(&fs_info->fs_roots_radix, fs_info 1508 fs/btrfs/disk-io.c spin_unlock(&fs_info->fs_roots_radix_lock); fs_info 1512 fs/btrfs/disk-io.c int btrfs_insert_fs_root(struct btrfs_fs_info *fs_info, fs_info 1521 fs/btrfs/disk-io.c spin_lock(&fs_info->fs_roots_radix_lock); fs_info 1522 fs/btrfs/disk-io.c ret = radix_tree_insert(&fs_info->fs_roots_radix, fs_info 1527 fs/btrfs/disk-io.c spin_unlock(&fs_info->fs_roots_radix_lock); fs_info 1533 fs/btrfs/disk-io.c struct btrfs_root *btrfs_get_fs_root(struct btrfs_fs_info *fs_info, fs_info 1543 fs/btrfs/disk-io.c return fs_info->tree_root; fs_info 1545 fs/btrfs/disk-io.c return fs_info->extent_root; fs_info 1547 fs/btrfs/disk-io.c return fs_info->chunk_root; fs_info 1549 fs/btrfs/disk-io.c return fs_info->dev_root; fs_info 1551 fs/btrfs/disk-io.c return fs_info->csum_root; fs_info 1553 fs/btrfs/disk-io.c return fs_info->quota_root ? fs_info->quota_root : fs_info 1556 fs/btrfs/disk-io.c return fs_info->uuid_root ? fs_info->uuid_root : fs_info 1559 fs/btrfs/disk-io.c return fs_info->free_space_root ? fs_info->free_space_root : fs_info 1562 fs/btrfs/disk-io.c root = btrfs_lookup_fs_root(fs_info, location->objectid); fs_info 1569 fs/btrfs/disk-io.c root = btrfs_read_fs_root(fs_info->tree_root, location); fs_info 1591 fs/btrfs/disk-io.c ret = btrfs_search_slot(NULL, fs_info->tree_root, &key, path, 0, 0); fs_info 1598 fs/btrfs/disk-io.c ret = btrfs_insert_fs_root(fs_info, root); fs_info 1655 fs/btrfs/disk-io.c struct btrfs_fs_info *fs_info = root->fs_info; fs_info 1661 fs/btrfs/disk-io.c set_bit(BTRFS_FS_CLEANER_RUNNING, &fs_info->flags); fs_info 1664 fs/btrfs/disk-io.c if (btrfs_need_cleaner_sleep(fs_info)) fs_info 1671 fs/btrfs/disk-io.c if (!test_bit(BTRFS_FS_OPEN, &fs_info->flags)) fs_info 1674 fs/btrfs/disk-io.c if (!mutex_trylock(&fs_info->cleaner_mutex)) fs_info 1681 fs/btrfs/disk-io.c if (btrfs_need_cleaner_sleep(fs_info)) { fs_info 1682 fs/btrfs/disk-io.c mutex_unlock(&fs_info->cleaner_mutex); fs_info 1686 fs/btrfs/disk-io.c btrfs_run_delayed_iputs(fs_info); fs_info 1689 fs/btrfs/disk-io.c mutex_unlock(&fs_info->cleaner_mutex); fs_info 1695 fs/btrfs/disk-io.c btrfs_run_defrag_inodes(fs_info); fs_info 1705 fs/btrfs/disk-io.c btrfs_delete_unused_bgs(fs_info); fs_info 1707 fs/btrfs/disk-io.c clear_bit(BTRFS_FS_CLEANER_RUNNING, &fs_info->flags); fs_info 1723 fs/btrfs/disk-io.c struct btrfs_fs_info *fs_info = root->fs_info; fs_info 1733 fs/btrfs/disk-io.c delay = HZ * fs_info->commit_interval; fs_info 1734 fs/btrfs/disk-io.c mutex_lock(&fs_info->transaction_kthread_mutex); fs_info 1736 fs/btrfs/disk-io.c spin_lock(&fs_info->trans_lock); fs_info 1737 fs/btrfs/disk-io.c cur = fs_info->running_transaction; fs_info 1739 fs/btrfs/disk-io.c spin_unlock(&fs_info->trans_lock); fs_info 1745 fs/btrfs/disk-io.c !test_bit(BTRFS_FS_NEED_ASYNC_COMMIT, &fs_info->flags) && fs_info 1747 fs/btrfs/disk-io.c now - cur->start_time < fs_info->commit_interval)) { fs_info 1748 fs/btrfs/disk-io.c spin_unlock(&fs_info->trans_lock); fs_info 1753 fs/btrfs/disk-io.c spin_unlock(&fs_info->trans_lock); fs_info 1768 fs/btrfs/disk-io.c wake_up_process(fs_info->cleaner_kthread); fs_info 1769 fs/btrfs/disk-io.c mutex_unlock(&fs_info->transaction_kthread_mutex); fs_info 1772 fs/btrfs/disk-io.c &fs_info->fs_state))) fs_info 1773 fs/btrfs/disk-io.c btrfs_cleanup_transaction(fs_info); fs_info 1775 fs/btrfs/disk-io.c (!btrfs_transaction_blocked(fs_info) || fs_info 1982 fs/btrfs/disk-io.c static void btrfs_stop_all_workers(struct btrfs_fs_info *fs_info) fs_info 1984 fs/btrfs/disk-io.c btrfs_destroy_workqueue(fs_info->fixup_workers); fs_info 1985 fs/btrfs/disk-io.c btrfs_destroy_workqueue(fs_info->delalloc_workers); fs_info 1986 fs/btrfs/disk-io.c btrfs_destroy_workqueue(fs_info->workers); fs_info 1987 fs/btrfs/disk-io.c btrfs_destroy_workqueue(fs_info->endio_workers); fs_info 1988 fs/btrfs/disk-io.c btrfs_destroy_workqueue(fs_info->endio_raid56_workers); fs_info 1989 fs/btrfs/disk-io.c btrfs_destroy_workqueue(fs_info->endio_repair_workers); fs_info 1990 fs/btrfs/disk-io.c btrfs_destroy_workqueue(fs_info->rmw_workers); fs_info 1991 fs/btrfs/disk-io.c btrfs_destroy_workqueue(fs_info->endio_write_workers); fs_info 1992 fs/btrfs/disk-io.c btrfs_destroy_workqueue(fs_info->endio_freespace_worker); fs_info 1993 fs/btrfs/disk-io.c btrfs_destroy_workqueue(fs_info->submit_workers); fs_info 1994 fs/btrfs/disk-io.c btrfs_destroy_workqueue(fs_info->delayed_workers); fs_info 1995 fs/btrfs/disk-io.c btrfs_destroy_workqueue(fs_info->caching_workers); fs_info 1996 fs/btrfs/disk-io.c btrfs_destroy_workqueue(fs_info->readahead_workers); fs_info 1997 fs/btrfs/disk-io.c btrfs_destroy_workqueue(fs_info->flush_workers); fs_info 1998 fs/btrfs/disk-io.c btrfs_destroy_workqueue(fs_info->qgroup_rescan_workers); fs_info 2004 fs/btrfs/disk-io.c btrfs_destroy_workqueue(fs_info->endio_meta_workers); fs_info 2005 fs/btrfs/disk-io.c btrfs_destroy_workqueue(fs_info->endio_meta_write_workers); fs_info 2033 fs/btrfs/disk-io.c void btrfs_free_fs_roots(struct btrfs_fs_info *fs_info) fs_info 2039 fs/btrfs/disk-io.c while (!list_empty(&fs_info->dead_roots)) { fs_info 2040 fs/btrfs/disk-io.c gang[0] = list_entry(fs_info->dead_roots.next, fs_info 2045 fs/btrfs/disk-io.c btrfs_drop_and_free_fs_root(fs_info, gang[0]); fs_info 2054 fs/btrfs/disk-io.c ret = radix_tree_gang_lookup(&fs_info->fs_roots_radix, fs_info 2060 fs/btrfs/disk-io.c btrfs_drop_and_free_fs_root(fs_info, gang[i]); fs_info 2063 fs/btrfs/disk-io.c if (test_bit(BTRFS_FS_STATE_ERROR, &fs_info->fs_state)) { fs_info 2064 fs/btrfs/disk-io.c btrfs_free_log_root_tree(NULL, fs_info); fs_info 2065 fs/btrfs/disk-io.c btrfs_destroy_pinned_extent(fs_info, fs_info->pinned_extents); fs_info 2069 fs/btrfs/disk-io.c static void btrfs_init_scrub(struct btrfs_fs_info *fs_info) fs_info 2071 fs/btrfs/disk-io.c mutex_init(&fs_info->scrub_lock); fs_info 2072 fs/btrfs/disk-io.c atomic_set(&fs_info->scrubs_running, 0); fs_info 2073 fs/btrfs/disk-io.c atomic_set(&fs_info->scrub_pause_req, 0); fs_info 2074 fs/btrfs/disk-io.c atomic_set(&fs_info->scrubs_paused, 0); fs_info 2075 fs/btrfs/disk-io.c atomic_set(&fs_info->scrub_cancel_req, 0); fs_info 2076 fs/btrfs/disk-io.c init_waitqueue_head(&fs_info->scrub_pause_wait); fs_info 2077 fs/btrfs/disk-io.c refcount_set(&fs_info->scrub_workers_refcnt, 0); fs_info 2080 fs/btrfs/disk-io.c static void btrfs_init_balance(struct btrfs_fs_info *fs_info) fs_info 2082 fs/btrfs/disk-io.c spin_lock_init(&fs_info->balance_lock); fs_info 2083 fs/btrfs/disk-io.c mutex_init(&fs_info->balance_mutex); fs_info 2084 fs/btrfs/disk-io.c atomic_set(&fs_info->balance_pause_req, 0); fs_info 2085 fs/btrfs/disk-io.c atomic_set(&fs_info->balance_cancel_req, 0); fs_info 2086 fs/btrfs/disk-io.c fs_info->balance_ctl = NULL; fs_info 2087 fs/btrfs/disk-io.c init_waitqueue_head(&fs_info->balance_wait_q); fs_info 2090 fs/btrfs/disk-io.c static void btrfs_init_btree_inode(struct btrfs_fs_info *fs_info) fs_info 2092 fs/btrfs/disk-io.c struct inode *inode = fs_info->btree_inode; fs_info 2105 fs/btrfs/disk-io.c extent_io_tree_init(fs_info, &BTRFS_I(inode)->io_tree, fs_info 2112 fs/btrfs/disk-io.c BTRFS_I(inode)->root = fs_info->tree_root; fs_info 2118 fs/btrfs/disk-io.c static void btrfs_init_dev_replace_locks(struct btrfs_fs_info *fs_info) fs_info 2120 fs/btrfs/disk-io.c mutex_init(&fs_info->dev_replace.lock_finishing_cancel_unmount); fs_info 2121 fs/btrfs/disk-io.c init_rwsem(&fs_info->dev_replace.rwsem); fs_info 2122 fs/btrfs/disk-io.c init_waitqueue_head(&fs_info->dev_replace.replace_wait); fs_info 2125 fs/btrfs/disk-io.c static void btrfs_init_qgroup(struct btrfs_fs_info *fs_info) fs_info 2127 fs/btrfs/disk-io.c spin_lock_init(&fs_info->qgroup_lock); fs_info 2128 fs/btrfs/disk-io.c mutex_init(&fs_info->qgroup_ioctl_lock); fs_info 2129 fs/btrfs/disk-io.c fs_info->qgroup_tree = RB_ROOT; fs_info 2130 fs/btrfs/disk-io.c INIT_LIST_HEAD(&fs_info->dirty_qgroups); fs_info 2131 fs/btrfs/disk-io.c fs_info->qgroup_seq = 1; fs_info 2132 fs/btrfs/disk-io.c fs_info->qgroup_ulist = NULL; fs_info 2133 fs/btrfs/disk-io.c fs_info->qgroup_rescan_running = false; fs_info 2134 fs/btrfs/disk-io.c mutex_init(&fs_info->qgroup_rescan_lock); fs_info 2137 fs/btrfs/disk-io.c static int btrfs_init_workqueues(struct btrfs_fs_info *fs_info, fs_info 2140 fs/btrfs/disk-io.c u32 max_active = fs_info->thread_pool_size; fs_info 2143 fs/btrfs/disk-io.c fs_info->workers = fs_info 2144 fs/btrfs/disk-io.c btrfs_alloc_workqueue(fs_info, "worker", fs_info 2147 fs/btrfs/disk-io.c fs_info->delalloc_workers = fs_info 2148 fs/btrfs/disk-io.c btrfs_alloc_workqueue(fs_info, "delalloc", fs_info 2151 fs/btrfs/disk-io.c fs_info->flush_workers = fs_info 2152 fs/btrfs/disk-io.c btrfs_alloc_workqueue(fs_info, "flush_delalloc", fs_info 2155 fs/btrfs/disk-io.c fs_info->caching_workers = fs_info 2156 fs/btrfs/disk-io.c btrfs_alloc_workqueue(fs_info, "cache", flags, max_active, 0); fs_info 2163 fs/btrfs/disk-io.c fs_info->submit_workers = fs_info 2164 fs/btrfs/disk-io.c btrfs_alloc_workqueue(fs_info, "submit", flags, fs_info 2168 fs/btrfs/disk-io.c fs_info->fixup_workers = fs_info 2169 fs/btrfs/disk-io.c btrfs_alloc_workqueue(fs_info, "fixup", flags, 1, 0); fs_info 2175 fs/btrfs/disk-io.c fs_info->endio_workers = fs_info 2176 fs/btrfs/disk-io.c btrfs_alloc_workqueue(fs_info, "endio", flags, max_active, 4); fs_info 2177 fs/btrfs/disk-io.c fs_info->endio_meta_workers = fs_info 2178 fs/btrfs/disk-io.c btrfs_alloc_workqueue(fs_info, "endio-meta", flags, fs_info 2180 fs/btrfs/disk-io.c fs_info->endio_meta_write_workers = fs_info 2181 fs/btrfs/disk-io.c btrfs_alloc_workqueue(fs_info, "endio-meta-write", flags, fs_info 2183 fs/btrfs/disk-io.c fs_info->endio_raid56_workers = fs_info 2184 fs/btrfs/disk-io.c btrfs_alloc_workqueue(fs_info, "endio-raid56", flags, fs_info 2186 fs/btrfs/disk-io.c fs_info->endio_repair_workers = fs_info 2187 fs/btrfs/disk-io.c btrfs_alloc_workqueue(fs_info, "endio-repair", flags, 1, 0); fs_info 2188 fs/btrfs/disk-io.c fs_info->rmw_workers = fs_info 2189 fs/btrfs/disk-io.c btrfs_alloc_workqueue(fs_info, "rmw", flags, max_active, 2); fs_info 2190 fs/btrfs/disk-io.c fs_info->endio_write_workers = fs_info 2191 fs/btrfs/disk-io.c btrfs_alloc_workqueue(fs_info, "endio-write", flags, fs_info 2193 fs/btrfs/disk-io.c fs_info->endio_freespace_worker = fs_info 2194 fs/btrfs/disk-io.c btrfs_alloc_workqueue(fs_info, "freespace-write", flags, fs_info 2196 fs/btrfs/disk-io.c fs_info->delayed_workers = fs_info 2197 fs/btrfs/disk-io.c btrfs_alloc_workqueue(fs_info, "delayed-meta", flags, fs_info 2199 fs/btrfs/disk-io.c fs_info->readahead_workers = fs_info 2200 fs/btrfs/disk-io.c btrfs_alloc_workqueue(fs_info, "readahead", flags, fs_info 2202 fs/btrfs/disk-io.c fs_info->qgroup_rescan_workers = fs_info 2203 fs/btrfs/disk-io.c btrfs_alloc_workqueue(fs_info, "qgroup-rescan", flags, 1, 0); fs_info 2205 fs/btrfs/disk-io.c if (!(fs_info->workers && fs_info->delalloc_workers && fs_info 2206 fs/btrfs/disk-io.c fs_info->submit_workers && fs_info->flush_workers && fs_info 2207 fs/btrfs/disk-io.c fs_info->endio_workers && fs_info->endio_meta_workers && fs_info 2208 fs/btrfs/disk-io.c fs_info->endio_meta_write_workers && fs_info 2209 fs/btrfs/disk-io.c fs_info->endio_repair_workers && fs_info 2210 fs/btrfs/disk-io.c fs_info->endio_write_workers && fs_info->endio_raid56_workers && fs_info 2211 fs/btrfs/disk-io.c fs_info->endio_freespace_worker && fs_info->rmw_workers && fs_info 2212 fs/btrfs/disk-io.c fs_info->caching_workers && fs_info->readahead_workers && fs_info 2213 fs/btrfs/disk-io.c fs_info->fixup_workers && fs_info->delayed_workers && fs_info 2214 fs/btrfs/disk-io.c fs_info->qgroup_rescan_workers)) { fs_info 2221 fs/btrfs/disk-io.c static int btrfs_init_csum_hash(struct btrfs_fs_info *fs_info, u16 csum_type) fs_info 2229 fs/btrfs/disk-io.c btrfs_err(fs_info, "error allocating %s hash for checksum", fs_info 2234 fs/btrfs/disk-io.c fs_info->csum_shash = csum_shash; fs_info 2239 fs/btrfs/disk-io.c static void btrfs_free_csum_hash(struct btrfs_fs_info *fs_info) fs_info 2241 fs/btrfs/disk-io.c crypto_free_shash(fs_info->csum_shash); fs_info 2244 fs/btrfs/disk-io.c static int btrfs_replay_log(struct btrfs_fs_info *fs_info, fs_info 2249 fs/btrfs/disk-io.c struct btrfs_super_block *disk_super = fs_info->super_copy; fs_info 2254 fs/btrfs/disk-io.c btrfs_warn(fs_info, "log replay required on RO media"); fs_info 2258 fs/btrfs/disk-io.c log_tree_root = btrfs_alloc_root(fs_info, GFP_KERNEL); fs_info 2262 fs/btrfs/disk-io.c __setup_root(log_tree_root, fs_info, BTRFS_TREE_LOG_OBJECTID); fs_info 2264 fs/btrfs/disk-io.c log_tree_root->node = read_tree_block(fs_info, bytenr, fs_info 2265 fs/btrfs/disk-io.c fs_info->generation + 1, fs_info 2268 fs/btrfs/disk-io.c btrfs_warn(fs_info, "failed to read log tree"); fs_info 2273 fs/btrfs/disk-io.c btrfs_err(fs_info, "failed to read log tree"); fs_info 2281 fs/btrfs/disk-io.c btrfs_handle_fs_error(fs_info, ret, fs_info 2288 fs/btrfs/disk-io.c if (sb_rdonly(fs_info->sb)) { fs_info 2289 fs/btrfs/disk-io.c ret = btrfs_commit_super(fs_info); fs_info 2297 fs/btrfs/disk-io.c static int btrfs_read_roots(struct btrfs_fs_info *fs_info) fs_info 2299 fs/btrfs/disk-io.c struct btrfs_root *tree_root = fs_info->tree_root; fs_info 2304 fs/btrfs/disk-io.c BUG_ON(!fs_info->tree_root); fs_info 2316 fs/btrfs/disk-io.c fs_info->extent_root = root; fs_info 2325 fs/btrfs/disk-io.c fs_info->dev_root = root; fs_info 2326 fs/btrfs/disk-io.c btrfs_init_devices_late(fs_info); fs_info 2335 fs/btrfs/disk-io.c fs_info->csum_root = root; fs_info 2341 fs/btrfs/disk-io.c set_bit(BTRFS_FS_QUOTA_ENABLED, &fs_info->flags); fs_info 2342 fs/btrfs/disk-io.c fs_info->quota_root = root; fs_info 2353 fs/btrfs/disk-io.c fs_info->uuid_root = root; fs_info 2356 fs/btrfs/disk-io.c if (btrfs_fs_compat_ro(fs_info, FREE_SPACE_TREE)) { fs_info 2364 fs/btrfs/disk-io.c fs_info->free_space_root = root; fs_info 2369 fs/btrfs/disk-io.c btrfs_warn(fs_info, "failed to read root (objectid=%llu): %d", fs_info 2384 fs/btrfs/disk-io.c static int validate_super(struct btrfs_fs_info *fs_info, fs_info 2392 fs/btrfs/disk-io.c btrfs_err(fs_info, "no valid FS found"); fs_info 2396 fs/btrfs/disk-io.c btrfs_err(fs_info, "unrecognized or unsupported super flag: %llu", fs_info 2401 fs/btrfs/disk-io.c btrfs_err(fs_info, "tree_root level too big: %d >= %d", fs_info 2406 fs/btrfs/disk-io.c btrfs_err(fs_info, "chunk_root level too big: %d >= %d", fs_info 2411 fs/btrfs/disk-io.c btrfs_err(fs_info, "log_root level too big: %d >= %d", fs_info 2422 fs/btrfs/disk-io.c btrfs_err(fs_info, "invalid sectorsize %llu", sectorsize); fs_info 2427 fs/btrfs/disk-io.c btrfs_err(fs_info, fs_info 2434 fs/btrfs/disk-io.c btrfs_err(fs_info, "invalid nodesize %llu", nodesize); fs_info 2438 fs/btrfs/disk-io.c btrfs_err(fs_info, "invalid leafsize %u, should be %llu", fs_info 2445 fs/btrfs/disk-io.c btrfs_warn(fs_info, "tree_root block unaligned: %llu", fs_info 2450 fs/btrfs/disk-io.c btrfs_warn(fs_info, "chunk_root block unaligned: %llu", fs_info 2455 fs/btrfs/disk-io.c btrfs_warn(fs_info, "log_root block unaligned: %llu", fs_info 2460 fs/btrfs/disk-io.c if (memcmp(fs_info->fs_devices->metadata_uuid, sb->dev_item.fsid, fs_info 2462 fs/btrfs/disk-io.c btrfs_err(fs_info, fs_info 2464 fs/btrfs/disk-io.c fs_info->fs_devices->metadata_uuid, sb->dev_item.fsid); fs_info 2473 fs/btrfs/disk-io.c btrfs_err(fs_info, "bytes_used is too small %llu", fs_info 2478 fs/btrfs/disk-io.c btrfs_err(fs_info, "invalid stripesize %u", fs_info 2483 fs/btrfs/disk-io.c btrfs_warn(fs_info, "suspicious number of devices: %llu", fs_info 2486 fs/btrfs/disk-io.c btrfs_err(fs_info, "number of devices is 0"); fs_info 2492 fs/btrfs/disk-io.c btrfs_err(fs_info, "super offset mismatch %llu != %u", fs_info 2502 fs/btrfs/disk-io.c btrfs_err(fs_info, "system chunk array too big %u > %u", fs_info 2509 fs/btrfs/disk-io.c btrfs_err(fs_info, "system chunk array too small %u < %zu", fs_info 2521 fs/btrfs/disk-io.c btrfs_warn(fs_info, fs_info 2527 fs/btrfs/disk-io.c btrfs_warn(fs_info, fs_info 2540 fs/btrfs/disk-io.c static int btrfs_validate_mount_super(struct btrfs_fs_info *fs_info) fs_info 2542 fs/btrfs/disk-io.c return validate_super(fs_info, fs_info->super_copy, 0); fs_info 2551 fs/btrfs/disk-io.c static int btrfs_validate_write_super(struct btrfs_fs_info *fs_info, fs_info 2556 fs/btrfs/disk-io.c ret = validate_super(fs_info, sb, -1); fs_info 2561 fs/btrfs/disk-io.c btrfs_err(fs_info, "invalid csum type, has %u want %u", fs_info 2567 fs/btrfs/disk-io.c btrfs_err(fs_info, fs_info 2575 fs/btrfs/disk-io.c btrfs_err(fs_info, fs_info 2593 fs/btrfs/disk-io.c struct btrfs_fs_info *fs_info = btrfs_sb(sb); fs_info 2603 fs/btrfs/disk-io.c tree_root = fs_info->tree_root = btrfs_alloc_root(fs_info, GFP_KERNEL); fs_info 2604 fs/btrfs/disk-io.c chunk_root = fs_info->chunk_root = btrfs_alloc_root(fs_info, GFP_KERNEL); fs_info 2610 fs/btrfs/disk-io.c ret = init_srcu_struct(&fs_info->subvol_srcu); fs_info 2616 fs/btrfs/disk-io.c ret = percpu_counter_init(&fs_info->dio_bytes, 0, GFP_KERNEL); fs_info 2622 fs/btrfs/disk-io.c ret = percpu_counter_init(&fs_info->dirty_metadata_bytes, 0, GFP_KERNEL); fs_info 2627 fs/btrfs/disk-io.c fs_info->dirty_metadata_batch = PAGE_SIZE * fs_info 2630 fs/btrfs/disk-io.c ret = percpu_counter_init(&fs_info->delalloc_bytes, 0, GFP_KERNEL); fs_info 2636 fs/btrfs/disk-io.c ret = percpu_counter_init(&fs_info->dev_replace.bio_counter, 0, fs_info 2643 fs/btrfs/disk-io.c INIT_RADIX_TREE(&fs_info->fs_roots_radix, GFP_ATOMIC); fs_info 2644 fs/btrfs/disk-io.c INIT_RADIX_TREE(&fs_info->buffer_radix, GFP_ATOMIC); fs_info 2645 fs/btrfs/disk-io.c INIT_LIST_HEAD(&fs_info->trans_list); fs_info 2646 fs/btrfs/disk-io.c INIT_LIST_HEAD(&fs_info->dead_roots); fs_info 2647 fs/btrfs/disk-io.c INIT_LIST_HEAD(&fs_info->delayed_iputs); fs_info 2648 fs/btrfs/disk-io.c INIT_LIST_HEAD(&fs_info->delalloc_roots); fs_info 2649 fs/btrfs/disk-io.c INIT_LIST_HEAD(&fs_info->caching_block_groups); fs_info 2650 fs/btrfs/disk-io.c spin_lock_init(&fs_info->delalloc_root_lock); fs_info 2651 fs/btrfs/disk-io.c spin_lock_init(&fs_info->trans_lock); fs_info 2652 fs/btrfs/disk-io.c spin_lock_init(&fs_info->fs_roots_radix_lock); fs_info 2653 fs/btrfs/disk-io.c spin_lock_init(&fs_info->delayed_iput_lock); fs_info 2654 fs/btrfs/disk-io.c spin_lock_init(&fs_info->defrag_inodes_lock); fs_info 2655 fs/btrfs/disk-io.c spin_lock_init(&fs_info->super_lock); fs_info 2656 fs/btrfs/disk-io.c spin_lock_init(&fs_info->buffer_lock); fs_info 2657 fs/btrfs/disk-io.c spin_lock_init(&fs_info->unused_bgs_lock); fs_info 2658 fs/btrfs/disk-io.c rwlock_init(&fs_info->tree_mod_log_lock); fs_info 2659 fs/btrfs/disk-io.c mutex_init(&fs_info->unused_bg_unpin_mutex); fs_info 2660 fs/btrfs/disk-io.c mutex_init(&fs_info->delete_unused_bgs_mutex); fs_info 2661 fs/btrfs/disk-io.c mutex_init(&fs_info->reloc_mutex); fs_info 2662 fs/btrfs/disk-io.c mutex_init(&fs_info->delalloc_root_mutex); fs_info 2663 fs/btrfs/disk-io.c seqlock_init(&fs_info->profiles_lock); fs_info 2665 fs/btrfs/disk-io.c INIT_LIST_HEAD(&fs_info->dirty_cowonly_roots); fs_info 2666 fs/btrfs/disk-io.c INIT_LIST_HEAD(&fs_info->space_info); fs_info 2667 fs/btrfs/disk-io.c INIT_LIST_HEAD(&fs_info->tree_mod_seq_list); fs_info 2668 fs/btrfs/disk-io.c INIT_LIST_HEAD(&fs_info->unused_bgs); fs_info 2669 fs/btrfs/disk-io.c extent_map_tree_init(&fs_info->mapping_tree); fs_info 2670 fs/btrfs/disk-io.c btrfs_init_block_rsv(&fs_info->global_block_rsv, fs_info 2672 fs/btrfs/disk-io.c btrfs_init_block_rsv(&fs_info->trans_block_rsv, BTRFS_BLOCK_RSV_TRANS); fs_info 2673 fs/btrfs/disk-io.c btrfs_init_block_rsv(&fs_info->chunk_block_rsv, BTRFS_BLOCK_RSV_CHUNK); fs_info 2674 fs/btrfs/disk-io.c btrfs_init_block_rsv(&fs_info->empty_block_rsv, BTRFS_BLOCK_RSV_EMPTY); fs_info 2675 fs/btrfs/disk-io.c btrfs_init_block_rsv(&fs_info->delayed_block_rsv, fs_info 2677 fs/btrfs/disk-io.c btrfs_init_block_rsv(&fs_info->delayed_refs_rsv, fs_info 2680 fs/btrfs/disk-io.c atomic_set(&fs_info->async_delalloc_pages, 0); fs_info 2681 fs/btrfs/disk-io.c atomic_set(&fs_info->defrag_running, 0); fs_info 2682 fs/btrfs/disk-io.c atomic_set(&fs_info->reada_works_cnt, 0); fs_info 2683 fs/btrfs/disk-io.c atomic_set(&fs_info->nr_delayed_iputs, 0); fs_info 2684 fs/btrfs/disk-io.c atomic64_set(&fs_info->tree_mod_seq, 0); fs_info 2685 fs/btrfs/disk-io.c fs_info->sb = sb; fs_info 2686 fs/btrfs/disk-io.c fs_info->max_inline = BTRFS_DEFAULT_MAX_INLINE; fs_info 2687 fs/btrfs/disk-io.c fs_info->metadata_ratio = 0; fs_info 2688 fs/btrfs/disk-io.c fs_info->defrag_inodes = RB_ROOT; fs_info 2689 fs/btrfs/disk-io.c atomic64_set(&fs_info->free_chunk_space, 0); fs_info 2690 fs/btrfs/disk-io.c fs_info->tree_mod_log = RB_ROOT; fs_info 2691 fs/btrfs/disk-io.c fs_info->commit_interval = BTRFS_DEFAULT_COMMIT_INTERVAL; fs_info 2692 fs/btrfs/disk-io.c fs_info->avg_delayed_ref_runtime = NSEC_PER_SEC >> 6; /* div by 64 */ fs_info 2694 fs/btrfs/disk-io.c INIT_RADIX_TREE(&fs_info->reada_tree, GFP_NOFS & ~__GFP_DIRECT_RECLAIM); fs_info 2695 fs/btrfs/disk-io.c spin_lock_init(&fs_info->reada_lock); fs_info 2696 fs/btrfs/disk-io.c btrfs_init_ref_verify(fs_info); fs_info 2698 fs/btrfs/disk-io.c fs_info->thread_pool_size = min_t(unsigned long, fs_info 2701 fs/btrfs/disk-io.c INIT_LIST_HEAD(&fs_info->ordered_roots); fs_info 2702 fs/btrfs/disk-io.c spin_lock_init(&fs_info->ordered_root_lock); fs_info 2704 fs/btrfs/disk-io.c fs_info->btree_inode = new_inode(sb); fs_info 2705 fs/btrfs/disk-io.c if (!fs_info->btree_inode) { fs_info 2709 fs/btrfs/disk-io.c mapping_set_gfp_mask(fs_info->btree_inode->i_mapping, GFP_NOFS); fs_info 2711 fs/btrfs/disk-io.c fs_info->delayed_root = kmalloc(sizeof(struct btrfs_delayed_root), fs_info 2713 fs/btrfs/disk-io.c if (!fs_info->delayed_root) { fs_info 2717 fs/btrfs/disk-io.c btrfs_init_delayed_root(fs_info->delayed_root); fs_info 2719 fs/btrfs/disk-io.c btrfs_init_scrub(fs_info); fs_info 2721 fs/btrfs/disk-io.c fs_info->check_integrity_print_mask = 0; fs_info 2723 fs/btrfs/disk-io.c btrfs_init_balance(fs_info); fs_info 2724 fs/btrfs/disk-io.c btrfs_init_async_reclaim_work(&fs_info->async_reclaim_work); fs_info 2729 fs/btrfs/disk-io.c btrfs_init_btree_inode(fs_info); fs_info 2731 fs/btrfs/disk-io.c spin_lock_init(&fs_info->block_group_cache_lock); fs_info 2732 fs/btrfs/disk-io.c fs_info->block_group_cache_tree = RB_ROOT; fs_info 2733 fs/btrfs/disk-io.c fs_info->first_logical_byte = (u64)-1; fs_info 2735 fs/btrfs/disk-io.c extent_io_tree_init(fs_info, &fs_info->freed_extents[0], fs_info 2737 fs/btrfs/disk-io.c extent_io_tree_init(fs_info, &fs_info->freed_extents[1], fs_info 2739 fs/btrfs/disk-io.c fs_info->pinned_extents = &fs_info->freed_extents[0]; fs_info 2740 fs/btrfs/disk-io.c set_bit(BTRFS_FS_BARRIER, &fs_info->flags); fs_info 2742 fs/btrfs/disk-io.c mutex_init(&fs_info->ordered_operations_mutex); fs_info 2743 fs/btrfs/disk-io.c mutex_init(&fs_info->tree_log_mutex); fs_info 2744 fs/btrfs/disk-io.c mutex_init(&fs_info->chunk_mutex); fs_info 2745 fs/btrfs/disk-io.c mutex_init(&fs_info->transaction_kthread_mutex); fs_info 2746 fs/btrfs/disk-io.c mutex_init(&fs_info->cleaner_mutex); fs_info 2747 fs/btrfs/disk-io.c mutex_init(&fs_info->ro_block_group_mutex); fs_info 2748 fs/btrfs/disk-io.c init_rwsem(&fs_info->commit_root_sem); fs_info 2749 fs/btrfs/disk-io.c init_rwsem(&fs_info->cleanup_work_sem); fs_info 2750 fs/btrfs/disk-io.c init_rwsem(&fs_info->subvol_sem); fs_info 2751 fs/btrfs/disk-io.c sema_init(&fs_info->uuid_tree_rescan_sem, 1); fs_info 2753 fs/btrfs/disk-io.c btrfs_init_dev_replace_locks(fs_info); fs_info 2754 fs/btrfs/disk-io.c btrfs_init_qgroup(fs_info); fs_info 2756 fs/btrfs/disk-io.c btrfs_init_free_cluster(&fs_info->meta_alloc_cluster); fs_info 2757 fs/btrfs/disk-io.c btrfs_init_free_cluster(&fs_info->data_alloc_cluster); fs_info 2759 fs/btrfs/disk-io.c init_waitqueue_head(&fs_info->transaction_throttle); fs_info 2760 fs/btrfs/disk-io.c init_waitqueue_head(&fs_info->transaction_wait); fs_info 2761 fs/btrfs/disk-io.c init_waitqueue_head(&fs_info->transaction_blocked_wait); fs_info 2762 fs/btrfs/disk-io.c init_waitqueue_head(&fs_info->async_submit_wait); fs_info 2763 fs/btrfs/disk-io.c init_waitqueue_head(&fs_info->delayed_iputs_wait); fs_info 2766 fs/btrfs/disk-io.c fs_info->nodesize = 4096; fs_info 2767 fs/btrfs/disk-io.c fs_info->sectorsize = 4096; fs_info 2768 fs/btrfs/disk-io.c fs_info->stripesize = 4096; fs_info 2770 fs/btrfs/disk-io.c spin_lock_init(&fs_info->swapfile_pins_lock); fs_info 2771 fs/btrfs/disk-io.c fs_info->swapfile_pins = RB_ROOT; fs_info 2773 fs/btrfs/disk-io.c fs_info->send_in_progress = 0; fs_info 2775 fs/btrfs/disk-io.c ret = btrfs_alloc_stripe_hash_table(fs_info); fs_info 2781 fs/btrfs/disk-io.c __setup_root(tree_root, fs_info, BTRFS_ROOT_TREE_OBJECTID); fs_info 2800 fs/btrfs/disk-io.c btrfs_err(fs_info, "unsupported checksum algorithm: %u", fs_info 2807 fs/btrfs/disk-io.c ret = btrfs_init_csum_hash(fs_info, csum_type); fs_info 2817 fs/btrfs/disk-io.c if (btrfs_check_super_csum(fs_info, bh->b_data)) { fs_info 2818 fs/btrfs/disk-io.c btrfs_err(fs_info, "superblock checksum mismatch"); fs_info 2829 fs/btrfs/disk-io.c memcpy(fs_info->super_copy, bh->b_data, sizeof(*fs_info->super_copy)); fs_info 2832 fs/btrfs/disk-io.c disk_super = fs_info->super_copy; fs_info 2834 fs/btrfs/disk-io.c ASSERT(!memcmp(fs_info->fs_devices->fsid, fs_info->super_copy->fsid, fs_info 2837 fs/btrfs/disk-io.c if (btrfs_fs_incompat(fs_info, METADATA_UUID)) { fs_info 2838 fs/btrfs/disk-io.c ASSERT(!memcmp(fs_info->fs_devices->metadata_uuid, fs_info 2839 fs/btrfs/disk-io.c fs_info->super_copy->metadata_uuid, fs_info 2847 fs/btrfs/disk-io.c btrfs_info(fs_info, fs_info 2851 fs/btrfs/disk-io.c memcpy(fs_info->super_for_commit, fs_info->super_copy, fs_info 2852 fs/btrfs/disk-io.c sizeof(*fs_info->super_for_commit)); fs_info 2854 fs/btrfs/disk-io.c ret = btrfs_validate_mount_super(fs_info); fs_info 2856 fs/btrfs/disk-io.c btrfs_err(fs_info, "superblock contains fatal errors"); fs_info 2866 fs/btrfs/disk-io.c set_bit(BTRFS_FS_STATE_ERROR, &fs_info->fs_state); fs_info 2873 fs/btrfs/disk-io.c find_oldest_super_backup(fs_info, generation); fs_info 2879 fs/btrfs/disk-io.c fs_info->compress_type = BTRFS_COMPRESS_ZLIB; fs_info 2881 fs/btrfs/disk-io.c ret = btrfs_parse_options(fs_info, options, sb->s_flags); fs_info 2890 fs/btrfs/disk-io.c btrfs_err(fs_info, fs_info 2899 fs/btrfs/disk-io.c if (fs_info->compress_type == BTRFS_COMPRESS_LZO) fs_info 2901 fs/btrfs/disk-io.c else if (fs_info->compress_type == BTRFS_COMPRESS_ZSTD) fs_info 2905 fs/btrfs/disk-io.c btrfs_info(fs_info, "has skinny extents"); fs_info 2913 fs/btrfs/disk-io.c btrfs_info(fs_info, fs_info 2921 fs/btrfs/disk-io.c fs_info->dirty_metadata_batch = nodesize * (1 + ilog2(nr_cpu_ids)); fs_info 2922 fs/btrfs/disk-io.c fs_info->delalloc_batch = sectorsize * 512 * (1 + ilog2(nr_cpu_ids)); fs_info 2925 fs/btrfs/disk-io.c fs_info->nodesize = nodesize; fs_info 2926 fs/btrfs/disk-io.c fs_info->sectorsize = sectorsize; fs_info 2927 fs/btrfs/disk-io.c fs_info->stripesize = stripesize; fs_info 2935 fs/btrfs/disk-io.c btrfs_err(fs_info, fs_info 2950 fs/btrfs/disk-io.c btrfs_err(fs_info, fs_info 2957 fs/btrfs/disk-io.c ret = btrfs_init_workqueues(fs_info, fs_devices); fs_info 2964 fs/btrfs/disk-io.c sb->s_bdi->congested_data = fs_info; fs_info 2972 fs/btrfs/disk-io.c memcpy(&sb->s_uuid, fs_info->fs_devices->fsid, BTRFS_FSID_SIZE); fs_info 2974 fs/btrfs/disk-io.c mutex_lock(&fs_info->chunk_mutex); fs_info 2975 fs/btrfs/disk-io.c ret = btrfs_read_sys_array(fs_info); fs_info 2976 fs/btrfs/disk-io.c mutex_unlock(&fs_info->chunk_mutex); fs_info 2978 fs/btrfs/disk-io.c btrfs_err(fs_info, "failed to read the system array: %d", ret); fs_info 2985 fs/btrfs/disk-io.c __setup_root(chunk_root, fs_info, BTRFS_CHUNK_TREE_OBJECTID); fs_info 2987 fs/btrfs/disk-io.c chunk_root->node = read_tree_block(fs_info, fs_info 2992 fs/btrfs/disk-io.c btrfs_err(fs_info, "failed to read chunk root"); fs_info 3001 fs/btrfs/disk-io.c read_extent_buffer(chunk_root->node, fs_info->chunk_tree_uuid, fs_info 3004 fs/btrfs/disk-io.c ret = btrfs_read_chunk_tree(fs_info); fs_info 3006 fs/btrfs/disk-io.c btrfs_err(fs_info, "failed to read chunk tree: %d", ret); fs_info 3017 fs/btrfs/disk-io.c btrfs_err(fs_info, "failed to read devices"); fs_info 3025 fs/btrfs/disk-io.c tree_root->node = read_tree_block(fs_info, fs_info 3030 fs/btrfs/disk-io.c btrfs_warn(fs_info, "failed to read tree root"); fs_info 3053 fs/btrfs/disk-io.c ret = btrfs_read_roots(fs_info); fs_info 3057 fs/btrfs/disk-io.c fs_info->generation = generation; fs_info 3058 fs/btrfs/disk-io.c fs_info->last_trans_committed = generation; fs_info 3068 fs/btrfs/disk-io.c if (fs_info->uuid_root && !btrfs_test_opt(fs_info, RESCAN_UUID_TREE) && fs_info 3069 fs/btrfs/disk-io.c fs_info->generation == btrfs_super_uuid_tree_generation(disk_super)) fs_info 3070 fs/btrfs/disk-io.c set_bit(BTRFS_FS_UPDATE_UUID_TREE_GEN, &fs_info->flags); fs_info 3072 fs/btrfs/disk-io.c ret = btrfs_verify_dev_extents(fs_info); fs_info 3074 fs/btrfs/disk-io.c btrfs_err(fs_info, fs_info 3079 fs/btrfs/disk-io.c ret = btrfs_recover_balance(fs_info); fs_info 3081 fs/btrfs/disk-io.c btrfs_err(fs_info, "failed to recover balance: %d", ret); fs_info 3085 fs/btrfs/disk-io.c ret = btrfs_init_dev_stats(fs_info); fs_info 3087 fs/btrfs/disk-io.c btrfs_err(fs_info, "failed to init dev_stats: %d", ret); fs_info 3091 fs/btrfs/disk-io.c ret = btrfs_init_dev_replace(fs_info); fs_info 3093 fs/btrfs/disk-io.c btrfs_err(fs_info, "failed to init dev_replace: %d", ret); fs_info 3101 fs/btrfs/disk-io.c btrfs_err(fs_info, "failed to init sysfs fsid interface: %d", fs_info 3108 fs/btrfs/disk-io.c btrfs_err(fs_info, "failed to init sysfs device interface: %d", fs_info 3113 fs/btrfs/disk-io.c ret = btrfs_sysfs_add_mounted(fs_info); fs_info 3115 fs/btrfs/disk-io.c btrfs_err(fs_info, "failed to init sysfs interface: %d", ret); fs_info 3119 fs/btrfs/disk-io.c ret = btrfs_init_space_info(fs_info); fs_info 3121 fs/btrfs/disk-io.c btrfs_err(fs_info, "failed to initialize space info: %d", ret); fs_info 3125 fs/btrfs/disk-io.c ret = btrfs_read_block_groups(fs_info); fs_info 3127 fs/btrfs/disk-io.c btrfs_err(fs_info, "failed to read block groups: %d", ret); fs_info 3131 fs/btrfs/disk-io.c if (!sb_rdonly(sb) && !btrfs_check_rw_degradable(fs_info, NULL)) { fs_info 3132 fs/btrfs/disk-io.c btrfs_warn(fs_info, fs_info 3137 fs/btrfs/disk-io.c fs_info->cleaner_kthread = kthread_run(cleaner_kthread, tree_root, fs_info 3139 fs/btrfs/disk-io.c if (IS_ERR(fs_info->cleaner_kthread)) fs_info 3142 fs/btrfs/disk-io.c fs_info->transaction_kthread = kthread_run(transaction_kthread, fs_info 3145 fs/btrfs/disk-io.c if (IS_ERR(fs_info->transaction_kthread)) fs_info 3148 fs/btrfs/disk-io.c if (!btrfs_test_opt(fs_info, NOSSD) && fs_info 3149 fs/btrfs/disk-io.c !fs_info->fs_devices->rotating) { fs_info 3150 fs/btrfs/disk-io.c btrfs_set_and_info(fs_info, SSD, "enabling ssd optimizations"); fs_info 3157 fs/btrfs/disk-io.c btrfs_apply_pending_changes(fs_info); fs_info 3160 fs/btrfs/disk-io.c if (btrfs_test_opt(fs_info, CHECK_INTEGRITY)) { fs_info 3161 fs/btrfs/disk-io.c ret = btrfsic_mount(fs_info, fs_devices, fs_info 3162 fs/btrfs/disk-io.c btrfs_test_opt(fs_info, fs_info 3165 fs/btrfs/disk-io.c fs_info->check_integrity_print_mask); fs_info 3167 fs/btrfs/disk-io.c btrfs_warn(fs_info, fs_info 3172 fs/btrfs/disk-io.c ret = btrfs_read_qgroup_config(fs_info); fs_info 3176 fs/btrfs/disk-io.c if (btrfs_build_ref_tree(fs_info)) fs_info 3177 fs/btrfs/disk-io.c btrfs_err(fs_info, "couldn't build ref tree"); fs_info 3181 fs/btrfs/disk-io.c !btrfs_test_opt(fs_info, NOLOGREPLAY)) { fs_info 3182 fs/btrfs/disk-io.c btrfs_info(fs_info, "start tree-log replay"); fs_info 3183 fs/btrfs/disk-io.c ret = btrfs_replay_log(fs_info, fs_devices); fs_info 3190 fs/btrfs/disk-io.c ret = btrfs_find_orphan_roots(fs_info); fs_info 3195 fs/btrfs/disk-io.c ret = btrfs_cleanup_fs_roots(fs_info); fs_info 3199 fs/btrfs/disk-io.c mutex_lock(&fs_info->cleaner_mutex); fs_info 3201 fs/btrfs/disk-io.c mutex_unlock(&fs_info->cleaner_mutex); fs_info 3203 fs/btrfs/disk-io.c btrfs_warn(fs_info, "failed to recover relocation: %d", fs_info 3214 fs/btrfs/disk-io.c fs_info->fs_root = btrfs_read_fs_root_no_name(fs_info, &location); fs_info 3215 fs/btrfs/disk-io.c if (IS_ERR(fs_info->fs_root)) { fs_info 3216 fs/btrfs/disk-io.c err = PTR_ERR(fs_info->fs_root); fs_info 3217 fs/btrfs/disk-io.c btrfs_warn(fs_info, "failed to read fs tree: %d", err); fs_info 3218 fs/btrfs/disk-io.c fs_info->fs_root = NULL; fs_info 3225 fs/btrfs/disk-io.c if (btrfs_test_opt(fs_info, CLEAR_CACHE) && fs_info 3226 fs/btrfs/disk-io.c btrfs_fs_compat_ro(fs_info, FREE_SPACE_TREE)) { fs_info 3228 fs/btrfs/disk-io.c } else if (btrfs_fs_compat_ro(fs_info, FREE_SPACE_TREE) && fs_info 3229 fs/btrfs/disk-io.c !btrfs_fs_compat_ro(fs_info, FREE_SPACE_TREE_VALID)) { fs_info 3230 fs/btrfs/disk-io.c btrfs_warn(fs_info, "free space tree is invalid"); fs_info 3235 fs/btrfs/disk-io.c btrfs_info(fs_info, "clearing free space tree"); fs_info 3236 fs/btrfs/disk-io.c ret = btrfs_clear_free_space_tree(fs_info); fs_info 3238 fs/btrfs/disk-io.c btrfs_warn(fs_info, fs_info 3240 fs/btrfs/disk-io.c close_ctree(fs_info); fs_info 3245 fs/btrfs/disk-io.c if (btrfs_test_opt(fs_info, FREE_SPACE_TREE) && fs_info 3246 fs/btrfs/disk-io.c !btrfs_fs_compat_ro(fs_info, FREE_SPACE_TREE)) { fs_info 3247 fs/btrfs/disk-io.c btrfs_info(fs_info, "creating free space tree"); fs_info 3248 fs/btrfs/disk-io.c ret = btrfs_create_free_space_tree(fs_info); fs_info 3250 fs/btrfs/disk-io.c btrfs_warn(fs_info, fs_info 3252 fs/btrfs/disk-io.c close_ctree(fs_info); fs_info 3257 fs/btrfs/disk-io.c down_read(&fs_info->cleanup_work_sem); fs_info 3258 fs/btrfs/disk-io.c if ((ret = btrfs_orphan_cleanup(fs_info->fs_root)) || fs_info 3259 fs/btrfs/disk-io.c (ret = btrfs_orphan_cleanup(fs_info->tree_root))) { fs_info 3260 fs/btrfs/disk-io.c up_read(&fs_info->cleanup_work_sem); fs_info 3261 fs/btrfs/disk-io.c close_ctree(fs_info); fs_info 3264 fs/btrfs/disk-io.c up_read(&fs_info->cleanup_work_sem); fs_info 3266 fs/btrfs/disk-io.c ret = btrfs_resume_balance_async(fs_info); fs_info 3268 fs/btrfs/disk-io.c btrfs_warn(fs_info, "failed to resume balance: %d", ret); fs_info 3269 fs/btrfs/disk-io.c close_ctree(fs_info); fs_info 3273 fs/btrfs/disk-io.c ret = btrfs_resume_dev_replace_async(fs_info); fs_info 3275 fs/btrfs/disk-io.c btrfs_warn(fs_info, "failed to resume device replace: %d", ret); fs_info 3276 fs/btrfs/disk-io.c close_ctree(fs_info); fs_info 3280 fs/btrfs/disk-io.c btrfs_qgroup_rescan_resume(fs_info); fs_info 3282 fs/btrfs/disk-io.c if (!fs_info->uuid_root) { fs_info 3283 fs/btrfs/disk-io.c btrfs_info(fs_info, "creating UUID tree"); fs_info 3284 fs/btrfs/disk-io.c ret = btrfs_create_uuid_tree(fs_info); fs_info 3286 fs/btrfs/disk-io.c btrfs_warn(fs_info, fs_info 3288 fs/btrfs/disk-io.c close_ctree(fs_info); fs_info 3291 fs/btrfs/disk-io.c } else if (btrfs_test_opt(fs_info, RESCAN_UUID_TREE) || fs_info 3292 fs/btrfs/disk-io.c fs_info->generation != fs_info 3294 fs/btrfs/disk-io.c btrfs_info(fs_info, "checking UUID tree"); fs_info 3295 fs/btrfs/disk-io.c ret = btrfs_check_uuid_tree(fs_info); fs_info 3297 fs/btrfs/disk-io.c btrfs_warn(fs_info, fs_info 3299 fs/btrfs/disk-io.c close_ctree(fs_info); fs_info 3303 fs/btrfs/disk-io.c set_bit(BTRFS_FS_OPEN, &fs_info->flags); fs_info 3309 fs/btrfs/disk-io.c btrfs_clear_opt(fs_info->mount_opt, USEBACKUPROOT); fs_info 3314 fs/btrfs/disk-io.c btrfs_free_qgroup_config(fs_info); fs_info 3316 fs/btrfs/disk-io.c kthread_stop(fs_info->transaction_kthread); fs_info 3317 fs/btrfs/disk-io.c btrfs_cleanup_transaction(fs_info); fs_info 3318 fs/btrfs/disk-io.c btrfs_free_fs_roots(fs_info); fs_info 3320 fs/btrfs/disk-io.c kthread_stop(fs_info->cleaner_kthread); fs_info 3326 fs/btrfs/disk-io.c filemap_write_and_wait(fs_info->btree_inode->i_mapping); fs_info 3329 fs/btrfs/disk-io.c btrfs_sysfs_remove_mounted(fs_info); fs_info 3332 fs/btrfs/disk-io.c btrfs_sysfs_remove_fsid(fs_info->fs_devices); fs_info 3335 fs/btrfs/disk-io.c btrfs_put_block_group_cache(fs_info); fs_info 3338 fs/btrfs/disk-io.c free_root_pointers(fs_info, true); fs_info 3339 fs/btrfs/disk-io.c invalidate_inode_pages2(fs_info->btree_inode->i_mapping); fs_info 3342 fs/btrfs/disk-io.c btrfs_stop_all_workers(fs_info); fs_info 3343 fs/btrfs/disk-io.c btrfs_free_block_groups(fs_info); fs_info 3345 fs/btrfs/disk-io.c btrfs_free_csum_hash(fs_info); fs_info 3348 fs/btrfs/disk-io.c btrfs_mapping_tree_free(&fs_info->mapping_tree); fs_info 3350 fs/btrfs/disk-io.c iput(fs_info->btree_inode); fs_info 3352 fs/btrfs/disk-io.c percpu_counter_destroy(&fs_info->dev_replace.bio_counter); fs_info 3354 fs/btrfs/disk-io.c percpu_counter_destroy(&fs_info->delalloc_bytes); fs_info 3356 fs/btrfs/disk-io.c percpu_counter_destroy(&fs_info->dirty_metadata_bytes); fs_info 3358 fs/btrfs/disk-io.c percpu_counter_destroy(&fs_info->dio_bytes); fs_info 3360 fs/btrfs/disk-io.c cleanup_srcu_struct(&fs_info->subvol_srcu); fs_info 3362 fs/btrfs/disk-io.c btrfs_free_stripe_hash_table(fs_info); fs_info 3363 fs/btrfs/disk-io.c btrfs_close_devices(fs_info->fs_devices); fs_info 3367 fs/btrfs/disk-io.c if (!btrfs_test_opt(fs_info, USEBACKUPROOT)) fs_info 3370 fs/btrfs/disk-io.c free_root_pointers(fs_info, false); fs_info 3376 fs/btrfs/disk-io.c btrfs_set_opt(fs_info->mount_opt, CLEAR_CACHE); fs_info 3378 fs/btrfs/disk-io.c ret = next_root_backup(fs_info, fs_info->super_copy, fs_info 3394 fs/btrfs/disk-io.c btrfs_warn_rl_in_rcu(device->fs_info, fs_info 3487 fs/btrfs/disk-io.c struct btrfs_fs_info *fs_info = device->fs_info; fs_info 3488 fs/btrfs/disk-io.c SHASH_DESC_ON_STACK(shash, fs_info->csum_shash); fs_info 3499 fs/btrfs/disk-io.c shash->tfm = fs_info->csum_shash; fs_info 3518 fs/btrfs/disk-io.c btrfs_err(device->fs_info, fs_info 3540 fs/btrfs/disk-io.c if (i == 0 && !btrfs_test_opt(device->fs_info, NOBARRIER)) fs_info 3598 fs/btrfs/disk-io.c btrfs_err(device->fs_info, "error writing primary super block to device %llu", fs_info 3654 fs/btrfs/disk-io.c static int check_barrier_error(struct btrfs_fs_info *fs_info) fs_info 3656 fs/btrfs/disk-io.c if (!btrfs_check_rw_degradable(fs_info, NULL)) fs_info 3749 fs/btrfs/disk-io.c int write_all_supers(struct btrfs_fs_info *fs_info, int max_mirrors) fs_info 3761 fs/btrfs/disk-io.c do_barriers = !btrfs_test_opt(fs_info, NOBARRIER); fs_info 3769 fs/btrfs/disk-io.c backup_super_roots(fs_info); fs_info 3771 fs/btrfs/disk-io.c sb = fs_info->super_for_commit; fs_info 3774 fs/btrfs/disk-io.c mutex_lock(&fs_info->fs_devices->device_list_mutex); fs_info 3775 fs/btrfs/disk-io.c head = &fs_info->fs_devices->devices; fs_info 3776 fs/btrfs/disk-io.c max_errors = btrfs_super_num_devices(fs_info->super_copy) - 1; fs_info 3779 fs/btrfs/disk-io.c ret = barrier_all_devices(fs_info); fs_info 3782 fs/btrfs/disk-io.c &fs_info->fs_devices->device_list_mutex); fs_info 3783 fs/btrfs/disk-io.c btrfs_handle_fs_error(fs_info, ret, fs_info 3815 fs/btrfs/disk-io.c ret = btrfs_validate_write_super(fs_info, sb); fs_info 3817 fs/btrfs/disk-io.c mutex_unlock(&fs_info->fs_devices->device_list_mutex); fs_info 3818 fs/btrfs/disk-io.c btrfs_handle_fs_error(fs_info, -EUCLEAN, fs_info 3828 fs/btrfs/disk-io.c btrfs_err(fs_info, "%d errors while writing supers", fs_info 3830 fs/btrfs/disk-io.c mutex_unlock(&fs_info->fs_devices->device_list_mutex); fs_info 3833 fs/btrfs/disk-io.c btrfs_handle_fs_error(fs_info, -EIO, fs_info 3851 fs/btrfs/disk-io.c mutex_unlock(&fs_info->fs_devices->device_list_mutex); fs_info 3853 fs/btrfs/disk-io.c btrfs_handle_fs_error(fs_info, -EIO, fs_info 3862 fs/btrfs/disk-io.c void btrfs_drop_and_free_fs_root(struct btrfs_fs_info *fs_info, fs_info 3865 fs/btrfs/disk-io.c spin_lock(&fs_info->fs_roots_radix_lock); fs_info 3866 fs/btrfs/disk-io.c radix_tree_delete(&fs_info->fs_roots_radix, fs_info 3868 fs/btrfs/disk-io.c spin_unlock(&fs_info->fs_roots_radix_lock); fs_info 3871 fs/btrfs/disk-io.c synchronize_srcu(&fs_info->subvol_srcu); fs_info 3873 fs/btrfs/disk-io.c if (test_bit(BTRFS_FS_STATE_ERROR, &fs_info->fs_state)) { fs_info 3905 fs/btrfs/disk-io.c int btrfs_cleanup_fs_roots(struct btrfs_fs_info *fs_info) fs_info 3915 fs/btrfs/disk-io.c index = srcu_read_lock(&fs_info->subvol_srcu); fs_info 3916 fs/btrfs/disk-io.c ret = radix_tree_gang_lookup(&fs_info->fs_roots_radix, fs_info 3920 fs/btrfs/disk-io.c srcu_read_unlock(&fs_info->subvol_srcu, index); fs_info 3934 fs/btrfs/disk-io.c srcu_read_unlock(&fs_info->subvol_srcu, index); fs_info 3956 fs/btrfs/disk-io.c int btrfs_commit_super(struct btrfs_fs_info *fs_info) fs_info 3958 fs/btrfs/disk-io.c struct btrfs_root *root = fs_info->tree_root; fs_info 3961 fs/btrfs/disk-io.c mutex_lock(&fs_info->cleaner_mutex); fs_info 3962 fs/btrfs/disk-io.c btrfs_run_delayed_iputs(fs_info); fs_info 3963 fs/btrfs/disk-io.c mutex_unlock(&fs_info->cleaner_mutex); fs_info 3964 fs/btrfs/disk-io.c wake_up_process(fs_info->cleaner_kthread); fs_info 3967 fs/btrfs/disk-io.c down_write(&fs_info->cleanup_work_sem); fs_info 3968 fs/btrfs/disk-io.c up_write(&fs_info->cleanup_work_sem); fs_info 3976 fs/btrfs/disk-io.c void close_ctree(struct btrfs_fs_info *fs_info) fs_info 3980 fs/btrfs/disk-io.c set_bit(BTRFS_FS_CLOSING_START, &fs_info->flags); fs_info 3987 fs/btrfs/disk-io.c kthread_park(fs_info->cleaner_kthread); fs_info 3990 fs/btrfs/disk-io.c btrfs_qgroup_wait_for_completion(fs_info, false); fs_info 3993 fs/btrfs/disk-io.c down(&fs_info->uuid_tree_rescan_sem); fs_info 3995 fs/btrfs/disk-io.c up(&fs_info->uuid_tree_rescan_sem); fs_info 3998 fs/btrfs/disk-io.c btrfs_pause_balance(fs_info); fs_info 4000 fs/btrfs/disk-io.c btrfs_dev_replace_suspend_for_unmount(fs_info); fs_info 4002 fs/btrfs/disk-io.c btrfs_scrub_cancel(fs_info); fs_info 4005 fs/btrfs/disk-io.c wait_event(fs_info->transaction_wait, fs_info 4006 fs/btrfs/disk-io.c (atomic_read(&fs_info->defrag_running) == 0)); fs_info 4009 fs/btrfs/disk-io.c btrfs_cleanup_defrag_inodes(fs_info); fs_info 4011 fs/btrfs/disk-io.c cancel_work_sync(&fs_info->async_reclaim_work); fs_info 4013 fs/btrfs/disk-io.c if (!sb_rdonly(fs_info->sb)) { fs_info 4018 fs/btrfs/disk-io.c btrfs_delete_unused_bgs(fs_info); fs_info 4031 fs/btrfs/disk-io.c btrfs_flush_workqueue(fs_info->delayed_workers); fs_info 4033 fs/btrfs/disk-io.c ret = btrfs_commit_super(fs_info); fs_info 4035 fs/btrfs/disk-io.c btrfs_err(fs_info, "commit super ret %d", ret); fs_info 4038 fs/btrfs/disk-io.c if (test_bit(BTRFS_FS_STATE_ERROR, &fs_info->fs_state) || fs_info 4039 fs/btrfs/disk-io.c test_bit(BTRFS_FS_STATE_TRANS_ABORTED, &fs_info->fs_state)) fs_info 4040 fs/btrfs/disk-io.c btrfs_error_commit_super(fs_info); fs_info 4042 fs/btrfs/disk-io.c kthread_stop(fs_info->transaction_kthread); fs_info 4043 fs/btrfs/disk-io.c kthread_stop(fs_info->cleaner_kthread); fs_info 4045 fs/btrfs/disk-io.c ASSERT(list_empty(&fs_info->delayed_iputs)); fs_info 4046 fs/btrfs/disk-io.c set_bit(BTRFS_FS_CLOSING_DONE, &fs_info->flags); fs_info 4048 fs/btrfs/disk-io.c btrfs_free_qgroup_config(fs_info); fs_info 4049 fs/btrfs/disk-io.c ASSERT(list_empty(&fs_info->delalloc_roots)); fs_info 4051 fs/btrfs/disk-io.c if (percpu_counter_sum(&fs_info->delalloc_bytes)) { fs_info 4052 fs/btrfs/disk-io.c btrfs_info(fs_info, "at unmount delalloc count %lld", fs_info 4053 fs/btrfs/disk-io.c percpu_counter_sum(&fs_info->delalloc_bytes)); fs_info 4056 fs/btrfs/disk-io.c if (percpu_counter_sum(&fs_info->dio_bytes)) fs_info 4057 fs/btrfs/disk-io.c btrfs_info(fs_info, "at unmount dio bytes count %lld", fs_info 4058 fs/btrfs/disk-io.c percpu_counter_sum(&fs_info->dio_bytes)); fs_info 4060 fs/btrfs/disk-io.c btrfs_sysfs_remove_mounted(fs_info); fs_info 4061 fs/btrfs/disk-io.c btrfs_sysfs_remove_fsid(fs_info->fs_devices); fs_info 4063 fs/btrfs/disk-io.c btrfs_free_fs_roots(fs_info); fs_info 4065 fs/btrfs/disk-io.c btrfs_put_block_group_cache(fs_info); fs_info 4071 fs/btrfs/disk-io.c invalidate_inode_pages2(fs_info->btree_inode->i_mapping); fs_info 4072 fs/btrfs/disk-io.c btrfs_stop_all_workers(fs_info); fs_info 4074 fs/btrfs/disk-io.c clear_bit(BTRFS_FS_OPEN, &fs_info->flags); fs_info 4075 fs/btrfs/disk-io.c free_root_pointers(fs_info, true); fs_info 4084 fs/btrfs/disk-io.c btrfs_free_block_groups(fs_info); fs_info 4086 fs/btrfs/disk-io.c iput(fs_info->btree_inode); fs_info 4089 fs/btrfs/disk-io.c if (btrfs_test_opt(fs_info, CHECK_INTEGRITY)) fs_info 4090 fs/btrfs/disk-io.c btrfsic_unmount(fs_info->fs_devices); fs_info 4093 fs/btrfs/disk-io.c btrfs_mapping_tree_free(&fs_info->mapping_tree); fs_info 4094 fs/btrfs/disk-io.c btrfs_close_devices(fs_info->fs_devices); fs_info 4096 fs/btrfs/disk-io.c percpu_counter_destroy(&fs_info->dirty_metadata_bytes); fs_info 4097 fs/btrfs/disk-io.c percpu_counter_destroy(&fs_info->delalloc_bytes); fs_info 4098 fs/btrfs/disk-io.c percpu_counter_destroy(&fs_info->dio_bytes); fs_info 4099 fs/btrfs/disk-io.c percpu_counter_destroy(&fs_info->dev_replace.bio_counter); fs_info 4100 fs/btrfs/disk-io.c cleanup_srcu_struct(&fs_info->subvol_srcu); fs_info 4102 fs/btrfs/disk-io.c btrfs_free_csum_hash(fs_info); fs_info 4103 fs/btrfs/disk-io.c btrfs_free_stripe_hash_table(fs_info); fs_info 4104 fs/btrfs/disk-io.c btrfs_free_ref_cache(fs_info); fs_info 4126 fs/btrfs/disk-io.c struct btrfs_fs_info *fs_info; fs_info 4141 fs/btrfs/disk-io.c fs_info = root->fs_info; fs_info 4143 fs/btrfs/disk-io.c if (transid != fs_info->generation) fs_info 4145 fs/btrfs/disk-io.c buf->start, transid, fs_info->generation); fs_info 4148 fs/btrfs/disk-io.c percpu_counter_add_batch(&fs_info->dirty_metadata_bytes, fs_info 4150 fs/btrfs/disk-io.c fs_info->dirty_metadata_batch); fs_info 4165 fs/btrfs/disk-io.c static void __btrfs_btree_balance_dirty(struct btrfs_fs_info *fs_info, fs_info 4178 fs/btrfs/disk-io.c btrfs_balance_delayed_items(fs_info); fs_info 4180 fs/btrfs/disk-io.c ret = __percpu_counter_compare(&fs_info->dirty_metadata_bytes, fs_info 4182 fs/btrfs/disk-io.c fs_info->dirty_metadata_batch); fs_info 4184 fs/btrfs/disk-io.c balance_dirty_pages_ratelimited(fs_info->btree_inode->i_mapping); fs_info 4188 fs/btrfs/disk-io.c void btrfs_btree_balance_dirty(struct btrfs_fs_info *fs_info) fs_info 4190 fs/btrfs/disk-io.c __btrfs_btree_balance_dirty(fs_info, 1); fs_info 4193 fs/btrfs/disk-io.c void btrfs_btree_balance_dirty_nodelay(struct btrfs_fs_info *fs_info) fs_info 4195 fs/btrfs/disk-io.c __btrfs_btree_balance_dirty(fs_info, 0); fs_info 4205 fs/btrfs/disk-io.c static void btrfs_error_commit_super(struct btrfs_fs_info *fs_info) fs_info 4208 fs/btrfs/disk-io.c btrfs_cleanup_transaction(fs_info); fs_info 4210 fs/btrfs/disk-io.c mutex_lock(&fs_info->cleaner_mutex); fs_info 4211 fs/btrfs/disk-io.c btrfs_run_delayed_iputs(fs_info); fs_info 4212 fs/btrfs/disk-io.c mutex_unlock(&fs_info->cleaner_mutex); fs_info 4214 fs/btrfs/disk-io.c down_write(&fs_info->cleanup_work_sem); fs_info 4215 fs/btrfs/disk-io.c up_write(&fs_info->cleanup_work_sem); fs_info 4233 fs/btrfs/disk-io.c static void btrfs_destroy_all_ordered_extents(struct btrfs_fs_info *fs_info) fs_info 4240 fs/btrfs/disk-io.c spin_lock(&fs_info->ordered_root_lock); fs_info 4241 fs/btrfs/disk-io.c list_splice_init(&fs_info->ordered_roots, &splice); fs_info 4246 fs/btrfs/disk-io.c &fs_info->ordered_roots); fs_info 4248 fs/btrfs/disk-io.c spin_unlock(&fs_info->ordered_root_lock); fs_info 4252 fs/btrfs/disk-io.c spin_lock(&fs_info->ordered_root_lock); fs_info 4254 fs/btrfs/disk-io.c spin_unlock(&fs_info->ordered_root_lock); fs_info 4262 fs/btrfs/disk-io.c btrfs_wait_ordered_roots(fs_info, U64_MAX, 0, (u64)-1); fs_info 4266 fs/btrfs/disk-io.c struct btrfs_fs_info *fs_info) fs_info 4278 fs/btrfs/disk-io.c btrfs_info(fs_info, "delayed_refs has NO entry"); fs_info 4313 fs/btrfs/disk-io.c btrfs_pin_extent(fs_info, head->bytenr, fs_info 4315 fs/btrfs/disk-io.c btrfs_cleanup_ref_head_accounting(fs_info, delayed_refs, head); fs_info 4358 fs/btrfs/disk-io.c static void btrfs_destroy_all_delalloc_inodes(struct btrfs_fs_info *fs_info) fs_info 4365 fs/btrfs/disk-io.c spin_lock(&fs_info->delalloc_root_lock); fs_info 4366 fs/btrfs/disk-io.c list_splice_init(&fs_info->delalloc_roots, &splice); fs_info 4372 fs/btrfs/disk-io.c spin_unlock(&fs_info->delalloc_root_lock); fs_info 4377 fs/btrfs/disk-io.c spin_lock(&fs_info->delalloc_root_lock); fs_info 4379 fs/btrfs/disk-io.c spin_unlock(&fs_info->delalloc_root_lock); fs_info 4382 fs/btrfs/disk-io.c static int btrfs_destroy_marked_extents(struct btrfs_fs_info *fs_info, fs_info 4399 fs/btrfs/disk-io.c eb = find_extent_buffer(fs_info, start); fs_info 4400 fs/btrfs/disk-io.c start += fs_info->nodesize; fs_info 4415 fs/btrfs/disk-io.c static int btrfs_destroy_pinned_extent(struct btrfs_fs_info *fs_info, fs_info 4435 fs/btrfs/disk-io.c mutex_lock(&fs_info->unused_bg_unpin_mutex); fs_info 4439 fs/btrfs/disk-io.c mutex_unlock(&fs_info->unused_bg_unpin_mutex); fs_info 4445 fs/btrfs/disk-io.c btrfs_error_unpin_extent_range(fs_info, start, end); fs_info 4446 fs/btrfs/disk-io.c mutex_unlock(&fs_info->unused_bg_unpin_mutex); fs_info 4451 fs/btrfs/disk-io.c if (unpin == &fs_info->freed_extents[0]) fs_info 4452 fs/btrfs/disk-io.c unpin = &fs_info->freed_extents[1]; fs_info 4454 fs/btrfs/disk-io.c unpin = &fs_info->freed_extents[0]; fs_info 4477 fs/btrfs/disk-io.c struct btrfs_fs_info *fs_info) fs_info 4501 fs/btrfs/disk-io.c btrfs_delayed_refs_rsv_release(fs_info, 1); fs_info 4524 fs/btrfs/disk-io.c struct btrfs_fs_info *fs_info) fs_info 4528 fs/btrfs/disk-io.c btrfs_cleanup_dirty_bgs(cur_trans, fs_info); fs_info 4537 fs/btrfs/disk-io.c btrfs_destroy_delayed_refs(cur_trans, fs_info); fs_info 4540 fs/btrfs/disk-io.c wake_up(&fs_info->transaction_blocked_wait); fs_info 4543 fs/btrfs/disk-io.c wake_up(&fs_info->transaction_wait); fs_info 4545 fs/btrfs/disk-io.c btrfs_destroy_delayed_inodes(fs_info); fs_info 4547 fs/btrfs/disk-io.c btrfs_destroy_marked_extents(fs_info, &cur_trans->dirty_pages, fs_info 4549 fs/btrfs/disk-io.c btrfs_destroy_pinned_extent(fs_info, fs_info 4550 fs/btrfs/disk-io.c fs_info->pinned_extents); fs_info 4556 fs/btrfs/disk-io.c static int btrfs_cleanup_transaction(struct btrfs_fs_info *fs_info) fs_info 4560 fs/btrfs/disk-io.c mutex_lock(&fs_info->transaction_kthread_mutex); fs_info 4562 fs/btrfs/disk-io.c spin_lock(&fs_info->trans_lock); fs_info 4563 fs/btrfs/disk-io.c while (!list_empty(&fs_info->trans_list)) { fs_info 4564 fs/btrfs/disk-io.c t = list_first_entry(&fs_info->trans_list, fs_info 4568 fs/btrfs/disk-io.c spin_unlock(&fs_info->trans_lock); fs_info 4569 fs/btrfs/disk-io.c btrfs_wait_for_commit(fs_info, t->transid); fs_info 4571 fs/btrfs/disk-io.c spin_lock(&fs_info->trans_lock); fs_info 4574 fs/btrfs/disk-io.c if (t == fs_info->running_transaction) { fs_info 4576 fs/btrfs/disk-io.c spin_unlock(&fs_info->trans_lock); fs_info 4584 fs/btrfs/disk-io.c spin_unlock(&fs_info->trans_lock); fs_info 4586 fs/btrfs/disk-io.c btrfs_cleanup_one_transaction(t, fs_info); fs_info 4588 fs/btrfs/disk-io.c spin_lock(&fs_info->trans_lock); fs_info 4589 fs/btrfs/disk-io.c if (t == fs_info->running_transaction) fs_info 4590 fs/btrfs/disk-io.c fs_info->running_transaction = NULL; fs_info 4592 fs/btrfs/disk-io.c spin_unlock(&fs_info->trans_lock); fs_info 4595 fs/btrfs/disk-io.c trace_btrfs_transaction_commit(fs_info->tree_root); fs_info 4596 fs/btrfs/disk-io.c spin_lock(&fs_info->trans_lock); fs_info 4598 fs/btrfs/disk-io.c spin_unlock(&fs_info->trans_lock); fs_info 4599 fs/btrfs/disk-io.c btrfs_destroy_all_ordered_extents(fs_info); fs_info 4600 fs/btrfs/disk-io.c btrfs_destroy_delayed_inodes(fs_info); fs_info 4601 fs/btrfs/disk-io.c btrfs_assert_delayed_root_empty(fs_info); fs_info 4602 fs/btrfs/disk-io.c btrfs_destroy_pinned_extent(fs_info, fs_info->pinned_extents); fs_info 4603 fs/btrfs/disk-io.c btrfs_destroy_all_delalloc_inodes(fs_info); fs_info 4604 fs/btrfs/disk-io.c mutex_unlock(&fs_info->transaction_kthread_mutex); fs_info 44 fs/btrfs/disk-io.h struct extent_buffer *read_tree_block(struct btrfs_fs_info *fs_info, u64 bytenr, fs_info 47 fs/btrfs/disk-io.h void readahead_tree_block(struct btrfs_fs_info *fs_info, u64 bytenr); fs_info 49 fs/btrfs/disk-io.h struct btrfs_fs_info *fs_info, fs_info 55 fs/btrfs/disk-io.h void close_ctree(struct btrfs_fs_info *fs_info); fs_info 56 fs/btrfs/disk-io.h int write_all_supers(struct btrfs_fs_info *fs_info, int max_mirrors); fs_info 60 fs/btrfs/disk-io.h int btrfs_commit_super(struct btrfs_fs_info *fs_info); fs_info 64 fs/btrfs/disk-io.h struct btrfs_root *btrfs_lookup_fs_root(struct btrfs_fs_info *fs_info, fs_info 66 fs/btrfs/disk-io.h int btrfs_insert_fs_root(struct btrfs_fs_info *fs_info, fs_info 68 fs/btrfs/disk-io.h void btrfs_free_fs_roots(struct btrfs_fs_info *fs_info); fs_info 70 fs/btrfs/disk-io.h struct btrfs_root *btrfs_get_fs_root(struct btrfs_fs_info *fs_info, fs_info 74 fs/btrfs/disk-io.h btrfs_read_fs_root_no_name(struct btrfs_fs_info *fs_info, fs_info 77 fs/btrfs/disk-io.h return btrfs_get_fs_root(fs_info, location, true); fs_info 80 fs/btrfs/disk-io.h int btrfs_cleanup_fs_roots(struct btrfs_fs_info *fs_info); fs_info 81 fs/btrfs/disk-io.h void btrfs_btree_balance_dirty(struct btrfs_fs_info *fs_info); fs_info 82 fs/btrfs/disk-io.h void btrfs_btree_balance_dirty_nodelay(struct btrfs_fs_info *fs_info); fs_info 83 fs/btrfs/disk-io.h void btrfs_drop_and_free_fs_root(struct btrfs_fs_info *fs_info, fs_info 88 fs/btrfs/disk-io.h struct btrfs_root *btrfs_alloc_dummy_root(struct btrfs_fs_info *fs_info); fs_info 118 fs/btrfs/disk-io.h blk_status_t btrfs_wq_submit_bio(struct btrfs_fs_info *fs_info, struct bio *bio, fs_info 125 fs/btrfs/disk-io.h struct btrfs_fs_info *fs_info); fs_info 129 fs/btrfs/disk-io.h struct btrfs_fs_info *fs_info); fs_info 131 fs/btrfs/disk-io.h struct btrfs_fs_info *fs_info); fs_info 64 fs/btrfs/export.c struct btrfs_fs_info *fs_info = btrfs_sb(sb); fs_info 78 fs/btrfs/export.c index = srcu_read_lock(&fs_info->subvol_srcu); fs_info 80 fs/btrfs/export.c root = btrfs_read_fs_root_no_name(fs_info, &key); fs_info 96 fs/btrfs/export.c srcu_read_unlock(&fs_info->subvol_srcu, index); fs_info 105 fs/btrfs/export.c srcu_read_unlock(&fs_info->subvol_srcu, index); fs_info 158 fs/btrfs/export.c struct btrfs_fs_info *fs_info = btrfs_sb(dir->i_sb); fs_info 175 fs/btrfs/export.c root = fs_info->tree_root; fs_info 211 fs/btrfs/export.c return btrfs_get_dentry(fs_info->sb, key.objectid, fs_info 217 fs/btrfs/export.c return d_obtain_alias(btrfs_iget(fs_info->sb, &key, root, NULL)); fs_info 228 fs/btrfs/export.c struct btrfs_fs_info *fs_info = btrfs_sb(inode->i_sb); fs_info 254 fs/btrfs/export.c root = fs_info->tree_root; fs_info 62 fs/btrfs/extent-tree.c int btrfs_add_excluded_extent(struct btrfs_fs_info *fs_info, fs_info 66 fs/btrfs/extent-tree.c set_extent_bits(&fs_info->freed_extents[0], fs_info 68 fs/btrfs/extent-tree.c set_extent_bits(&fs_info->freed_extents[1], fs_info 75 fs/btrfs/extent-tree.c struct btrfs_fs_info *fs_info = cache->fs_info; fs_info 81 fs/btrfs/extent-tree.c clear_extent_bits(&fs_info->freed_extents[0], fs_info 83 fs/btrfs/extent-tree.c clear_extent_bits(&fs_info->freed_extents[1], fs_info 98 fs/btrfs/extent-tree.c static void add_pinned_bytes(struct btrfs_fs_info *fs_info, fs_info 104 fs/btrfs/extent-tree.c space_info = btrfs_find_space_info(fs_info, flags); fs_info 110 fs/btrfs/extent-tree.c static void sub_pinned_bytes(struct btrfs_fs_info *fs_info, fs_info 116 fs/btrfs/extent-tree.c space_info = btrfs_find_space_info(fs_info, flags); fs_info 123 fs/btrfs/extent-tree.c int btrfs_lookup_data_extent(struct btrfs_fs_info *fs_info, u64 start, u64 len) fs_info 136 fs/btrfs/extent-tree.c ret = btrfs_search_slot(NULL, fs_info->extent_root, &key, path, 0, 0); fs_info 151 fs/btrfs/extent-tree.c struct btrfs_fs_info *fs_info, u64 bytenr, fs_info 169 fs/btrfs/extent-tree.c if (metadata && !btrfs_fs_incompat(fs_info, SKINNY_METADATA)) { fs_info 170 fs/btrfs/extent-tree.c offset = fs_info->nodesize; fs_info 191 fs/btrfs/extent-tree.c ret = btrfs_search_slot(trans, fs_info->extent_root, &key, path, 0, 0); fs_info 202 fs/btrfs/extent-tree.c key.offset == fs_info->nodesize) fs_info 217 fs/btrfs/extent-tree.c btrfs_print_v0_err(fs_info); fs_info 221 fs/btrfs/extent-tree.c btrfs_handle_fs_error(fs_info, ret, NULL); fs_info 403 fs/btrfs/extent-tree.c ASSERT(eb->fs_info); fs_info 410 fs/btrfs/extent-tree.c IS_ALIGNED(offset, eb->fs_info->nodesize)) fs_info 417 fs/btrfs/extent-tree.c ASSERT(eb->fs_info); fs_info 424 fs/btrfs/extent-tree.c IS_ALIGNED(offset, eb->fs_info->nodesize)) fs_info 434 fs/btrfs/extent-tree.c btrfs_err(eb->fs_info, "eb %llu invalid extent inline ref type %d", fs_info 482 fs/btrfs/extent-tree.c struct btrfs_root *root = trans->fs_info->extent_root; fs_info 558 fs/btrfs/extent-tree.c struct btrfs_root *root = trans->fs_info->extent_root; fs_info 654 fs/btrfs/extent-tree.c btrfs_print_v0_err(trans->fs_info); fs_info 665 fs/btrfs/extent-tree.c ret = btrfs_del_item(trans, trans->fs_info->extent_root, path); fs_info 724 fs/btrfs/extent-tree.c struct btrfs_root *root = trans->fs_info->extent_root; fs_info 760 fs/btrfs/extent-tree.c ret = btrfs_insert_empty_item(trans, trans->fs_info->extent_root, fs_info 825 fs/btrfs/extent-tree.c struct btrfs_fs_info *fs_info = trans->fs_info; fs_info 826 fs/btrfs/extent-tree.c struct btrfs_root *root = fs_info->extent_root; fs_info 840 fs/btrfs/extent-tree.c bool skinny_metadata = btrfs_fs_incompat(fs_info, SKINNY_METADATA); fs_info 906 fs/btrfs/extent-tree.c btrfs_print_v0_err(fs_info); fs_info 1011 fs/btrfs/extent-tree.c void setup_inline_extent_backref(struct btrfs_fs_info *fs_info, fs_info 1187 fs/btrfs/extent-tree.c setup_inline_extent_backref(trans->fs_info, path, iref, parent, fs_info 1229 fs/btrfs/extent-tree.c ret = btrfs_del_item(trans, trans->fs_info->extent_root, path); fs_info 1306 fs/btrfs/extent-tree.c int btrfs_discard_extent(struct btrfs_fs_info *fs_info, u64 bytenr, fs_info 1318 fs/btrfs/extent-tree.c btrfs_bio_counter_inc_blocked(fs_info); fs_info 1320 fs/btrfs/extent-tree.c ret = btrfs_map_block(fs_info, BTRFS_MAP_DISCARD, bytenr, &num_bytes, fs_info 1333 fs/btrfs/extent-tree.c ASSERT(btrfs_test_opt(fs_info, DEGRADED)); fs_info 1358 fs/btrfs/extent-tree.c btrfs_bio_counter_dec(fs_info); fs_info 1373 fs/btrfs/extent-tree.c struct btrfs_fs_info *fs_info = trans->fs_info; fs_info 1389 fs/btrfs/extent-tree.c btrfs_ref_tree_mod(fs_info, generic_ref); fs_info 1392 fs/btrfs/extent-tree.c sub_pinned_bytes(fs_info, generic_ref); fs_info 1504 fs/btrfs/extent-tree.c trace_run_delayed_data_ref(trans->fs_info, node, ref, node->action); fs_info 1554 fs/btrfs/extent-tree.c struct btrfs_fs_info *fs_info = trans->fs_info; fs_info 1567 fs/btrfs/extent-tree.c if (metadata && !btrfs_fs_incompat(fs_info, SKINNY_METADATA)) fs_info 1587 fs/btrfs/extent-tree.c ret = btrfs_search_slot(trans, fs_info->extent_root, &key, path, 0, 1); fs_info 1623 fs/btrfs/extent-tree.c btrfs_print_v0_err(fs_info); fs_info 1648 fs/btrfs/extent-tree.c trace_run_delayed_tree_ref(trans->fs_info, node, ref, node->action); fs_info 1655 fs/btrfs/extent-tree.c btrfs_err(trans->fs_info, fs_info 1686 fs/btrfs/extent-tree.c btrfs_pin_extent(trans->fs_info, node->bytenr, fs_info 1702 fs/btrfs/extent-tree.c btrfs_pin_extent(trans->fs_info, node->bytenr, fs_info 1773 fs/btrfs/extent-tree.c void btrfs_cleanup_ref_head_accounting(struct btrfs_fs_info *fs_info, fs_info 1789 fs/btrfs/extent-tree.c space_info = btrfs_find_space_info(fs_info, flags); fs_info 1804 fs/btrfs/extent-tree.c nr_items += btrfs_csum_bytes_to_leaves(fs_info, fs_info 1809 fs/btrfs/extent-tree.c btrfs_delayed_refs_rsv_release(fs_info, nr_items); fs_info 1816 fs/btrfs/extent-tree.c struct btrfs_fs_info *fs_info = trans->fs_info; fs_info 1825 fs/btrfs/extent-tree.c btrfs_debug(fs_info, "run_delayed_extent_op returned %d", ret); fs_info 1848 fs/btrfs/extent-tree.c btrfs_pin_extent(fs_info, head->bytenr, fs_info 1851 fs/btrfs/extent-tree.c ret = btrfs_del_csums(trans, fs_info->csum_root, fs_info 1856 fs/btrfs/extent-tree.c btrfs_cleanup_ref_head_accounting(fs_info, delayed_refs, head); fs_info 1858 fs/btrfs/extent-tree.c trace_run_delayed_ref_head(fs_info, head, 0); fs_info 1901 fs/btrfs/extent-tree.c struct btrfs_fs_info *fs_info = trans->fs_info; fs_info 1915 fs/btrfs/extent-tree.c btrfs_check_delayed_seq(fs_info, ref->seq)) { fs_info 1962 fs/btrfs/extent-tree.c btrfs_debug(fs_info, "run_one_delayed_ref returned %d", fs_info 1984 fs/btrfs/extent-tree.c struct btrfs_fs_info *fs_info = trans->fs_info; fs_info 2066 fs/btrfs/extent-tree.c avg = fs_info->avg_delayed_ref_runtime * 3 + runtime; fs_info 2067 fs/btrfs/extent-tree.c fs_info->avg_delayed_ref_runtime = avg >> 2; /* div by 4 */ fs_info 2116 fs/btrfs/extent-tree.c static inline u64 heads_to_leaves(struct btrfs_fs_info *fs_info, u64 heads) fs_info 2122 fs/btrfs/extent-tree.c if (!btrfs_fs_incompat(fs_info, SKINNY_METADATA)) fs_info 2129 fs/btrfs/extent-tree.c return div_u64(num_bytes, BTRFS_LEAF_DATA_SIZE(fs_info)); fs_info 2136 fs/btrfs/extent-tree.c u64 btrfs_csum_bytes_to_leaves(struct btrfs_fs_info *fs_info, u64 csum_bytes) fs_info 2142 fs/btrfs/extent-tree.c csum_size = BTRFS_MAX_ITEM_SIZE(fs_info); fs_info 2144 fs/btrfs/extent-tree.c (u64)btrfs_super_csum_size(fs_info->super_copy)); fs_info 2145 fs/btrfs/extent-tree.c num_csums = div64_u64(csum_bytes, fs_info->sectorsize); fs_info 2164 fs/btrfs/extent-tree.c struct btrfs_fs_info *fs_info = trans->fs_info; fs_info 2175 fs/btrfs/extent-tree.c if (test_bit(BTRFS_FS_CREATING_FREE_SPACE_TREE, &fs_info->flags)) fs_info 2253 fs/btrfs/extent-tree.c spin_lock(&root->fs_info->trans_lock); fs_info 2254 fs/btrfs/extent-tree.c cur_trans = root->fs_info->running_transaction; fs_info 2257 fs/btrfs/extent-tree.c spin_unlock(&root->fs_info->trans_lock); fs_info 2325 fs/btrfs/extent-tree.c struct btrfs_fs_info *fs_info = root->fs_info; fs_info 2326 fs/btrfs/extent-tree.c struct btrfs_root *extent_root = fs_info->extent_root; fs_info 2422 fs/btrfs/extent-tree.c struct btrfs_fs_info *fs_info = root->fs_info; fs_info 2437 fs/btrfs/extent-tree.c if (btrfs_is_testing(fs_info)) fs_info 2486 fs/btrfs/extent-tree.c num_bytes = fs_info->nodesize; fs_info 2517 fs/btrfs/extent-tree.c int btrfs_extent_readonly(struct btrfs_fs_info *fs_info, u64 bytenr) fs_info 2522 fs/btrfs/extent-tree.c block_group = btrfs_lookup_block_group(fs_info, bytenr); fs_info 2532 fs/btrfs/extent-tree.c struct btrfs_fs_info *fs_info = root->fs_info; fs_info 2538 fs/btrfs/extent-tree.c else if (root == fs_info->chunk_root) fs_info 2543 fs/btrfs/extent-tree.c ret = btrfs_get_alloc_profile(fs_info, flags); fs_info 2547 fs/btrfs/extent-tree.c static u64 first_logical_byte(struct btrfs_fs_info *fs_info, u64 search_start) fs_info 2552 fs/btrfs/extent-tree.c spin_lock(&fs_info->block_group_cache_lock); fs_info 2553 fs/btrfs/extent-tree.c bytenr = fs_info->first_logical_byte; fs_info 2554 fs/btrfs/extent-tree.c spin_unlock(&fs_info->block_group_cache_lock); fs_info 2559 fs/btrfs/extent-tree.c cache = btrfs_lookup_first_block_group(fs_info, search_start); fs_info 2572 fs/btrfs/extent-tree.c struct btrfs_fs_info *fs_info = cache->fs_info; fs_info 2577 fs/btrfs/extent-tree.c btrfs_space_info_update_bytes_pinned(fs_info, cache->space_info, fs_info 2588 fs/btrfs/extent-tree.c set_extent_dirty(fs_info->pinned_extents, bytenr, fs_info 2596 fs/btrfs/extent-tree.c int btrfs_pin_extent(struct btrfs_fs_info *fs_info, fs_info 2601 fs/btrfs/extent-tree.c cache = btrfs_lookup_block_group(fs_info, bytenr); fs_info 2613 fs/btrfs/extent-tree.c int btrfs_pin_extent_for_log_replay(struct btrfs_fs_info *fs_info, fs_info 2619 fs/btrfs/extent-tree.c cache = btrfs_lookup_block_group(fs_info, bytenr); fs_info 2639 fs/btrfs/extent-tree.c static int __exclude_logged_extent(struct btrfs_fs_info *fs_info, fs_info 2646 fs/btrfs/extent-tree.c block_group = btrfs_lookup_block_group(fs_info, start); fs_info 2661 fs/btrfs/extent-tree.c ret = btrfs_add_excluded_extent(fs_info, start, fs_info 2676 fs/btrfs/extent-tree.c ret = btrfs_add_excluded_extent(fs_info, start, fs_info 2689 fs/btrfs/extent-tree.c struct btrfs_fs_info *fs_info = eb->fs_info; fs_info 2696 fs/btrfs/extent-tree.c if (!btrfs_fs_incompat(fs_info, MIXED_GROUPS)) fs_info 2711 fs/btrfs/extent-tree.c ret = __exclude_logged_extent(fs_info, key.objectid, key.offset); fs_info 2725 fs/btrfs/extent-tree.c void btrfs_prepare_extent_commit(struct btrfs_fs_info *fs_info) fs_info 2731 fs/btrfs/extent-tree.c down_write(&fs_info->commit_root_sem); fs_info 2734 fs/btrfs/extent-tree.c &fs_info->caching_block_groups, list) { fs_info 2745 fs/btrfs/extent-tree.c if (fs_info->pinned_extents == &fs_info->freed_extents[0]) fs_info 2746 fs/btrfs/extent-tree.c fs_info->pinned_extents = &fs_info->freed_extents[1]; fs_info 2748 fs/btrfs/extent-tree.c fs_info->pinned_extents = &fs_info->freed_extents[0]; fs_info 2750 fs/btrfs/extent-tree.c up_write(&fs_info->commit_root_sem); fs_info 2752 fs/btrfs/extent-tree.c btrfs_update_global_block_rsv(fs_info); fs_info 2760 fs/btrfs/extent-tree.c fetch_cluster_info(struct btrfs_fs_info *fs_info, fs_info 2770 fs/btrfs/extent-tree.c ret = &fs_info->meta_alloc_cluster; fs_info 2771 fs/btrfs/extent-tree.c if (btrfs_test_opt(fs_info, SSD)) fs_info 2776 fs/btrfs/extent-tree.c btrfs_test_opt(fs_info, SSD_SPREAD)) { fs_info 2778 fs/btrfs/extent-tree.c ret = &fs_info->data_alloc_cluster; fs_info 2784 fs/btrfs/extent-tree.c static int unpin_extent_range(struct btrfs_fs_info *fs_info, fs_info 2790 fs/btrfs/extent-tree.c struct btrfs_block_rsv *global_rsv = &fs_info->global_block_rsv; fs_info 2804 fs/btrfs/extent-tree.c cache = btrfs_lookup_block_group(fs_info, start); fs_info 2807 fs/btrfs/extent-tree.c cluster = fetch_cluster_info(fs_info, fs_info 2842 fs/btrfs/extent-tree.c btrfs_space_info_update_bytes_pinned(fs_info, space_info, -len); fs_info 2860 fs/btrfs/extent-tree.c btrfs_space_info_update_bytes_may_use(fs_info, fs_info 2869 fs/btrfs/extent-tree.c btrfs_try_granting_tickets(fs_info, fs_info 2882 fs/btrfs/extent-tree.c struct btrfs_fs_info *fs_info = trans->fs_info; fs_info 2890 fs/btrfs/extent-tree.c if (fs_info->pinned_extents == &fs_info->freed_extents[0]) fs_info 2891 fs/btrfs/extent-tree.c unpin = &fs_info->freed_extents[1]; fs_info 2893 fs/btrfs/extent-tree.c unpin = &fs_info->freed_extents[0]; fs_info 2898 fs/btrfs/extent-tree.c mutex_lock(&fs_info->unused_bg_unpin_mutex); fs_info 2902 fs/btrfs/extent-tree.c mutex_unlock(&fs_info->unused_bg_unpin_mutex); fs_info 2906 fs/btrfs/extent-tree.c if (btrfs_test_opt(fs_info, DISCARD)) fs_info 2907 fs/btrfs/extent-tree.c ret = btrfs_discard_extent(fs_info, start, fs_info 2911 fs/btrfs/extent-tree.c unpin_extent_range(fs_info, start, end, true); fs_info 2912 fs/btrfs/extent-tree.c mutex_unlock(&fs_info->unused_bg_unpin_mutex); fs_info 2928 fs/btrfs/extent-tree.c ret = btrfs_discard_extent(fs_info, fs_info 2939 fs/btrfs/extent-tree.c btrfs_warn(fs_info, fs_info 2954 fs/btrfs/extent-tree.c struct btrfs_fs_info *info = trans->fs_info; fs_info 3228 fs/btrfs/extent-tree.c btrfs_cleanup_ref_head_accounting(trans->fs_info, delayed_refs, head); fs_info 3245 fs/btrfs/extent-tree.c struct btrfs_fs_info *fs_info = root->fs_info; fs_info 3258 fs/btrfs/extent-tree.c btrfs_ref_tree_mod(fs_info, &generic_ref); fs_info 3275 fs/btrfs/extent-tree.c cache = btrfs_lookup_block_group(fs_info, buf->start); fs_info 3288 fs/btrfs/extent-tree.c trace_btrfs_reserved_extent_free(fs_info, buf->start, buf->len); fs_info 3292 fs/btrfs/extent-tree.c add_pinned_bytes(fs_info, &generic_ref); fs_info 3306 fs/btrfs/extent-tree.c struct btrfs_fs_info *fs_info = trans->fs_info; fs_info 3310 fs/btrfs/extent-tree.c if (btrfs_is_testing(fs_info)) fs_info 3322 fs/btrfs/extent-tree.c btrfs_pin_extent(fs_info, ref->bytenr, ref->len, 1); fs_info 3337 fs/btrfs/extent-tree.c btrfs_ref_tree_mod(fs_info, ref); fs_info 3340 fs/btrfs/extent-tree.c add_pinned_bytes(fs_info, ref); fs_info 3647 fs/btrfs/extent-tree.c static int find_free_extent_update_loop(struct btrfs_fs_info *fs_info, fs_info 3653 fs/btrfs/extent-tree.c struct btrfs_root *root = fs_info->extent_root; fs_info 3778 fs/btrfs/extent-tree.c static noinline int find_free_extent(struct btrfs_fs_info *fs_info, fs_info 3792 fs/btrfs/extent-tree.c WARN_ON(num_bytes < fs_info->sectorsize); fs_info 3811 fs/btrfs/extent-tree.c trace_find_free_extent(fs_info, num_bytes, empty_size, flags); fs_info 3813 fs/btrfs/extent-tree.c space_info = btrfs_find_space_info(fs_info, flags); fs_info 3815 fs/btrfs/extent-tree.c btrfs_err(fs_info, "No space info for %llu", flags); fs_info 3842 fs/btrfs/extent-tree.c last_ptr = fetch_cluster_info(fs_info, space_info, fs_info 3861 fs/btrfs/extent-tree.c first_logical_byte(fs_info, 0)); fs_info 3864 fs/btrfs/extent-tree.c block_group = btrfs_lookup_block_group(fs_info, fs_info 3998 fs/btrfs/extent-tree.c fs_info->stripesize); fs_info 4039 fs/btrfs/extent-tree.c ret = find_free_extent_update_loop(fs_info, last_ptr, ins, &ffe_ctl, fs_info 4111 fs/btrfs/extent-tree.c struct btrfs_fs_info *fs_info = root->fs_info; fs_info 4118 fs/btrfs/extent-tree.c WARN_ON(num_bytes < fs_info->sectorsize); fs_info 4119 fs/btrfs/extent-tree.c ret = find_free_extent(fs_info, ram_bytes, num_bytes, empty_size, fs_info 4122 fs/btrfs/extent-tree.c btrfs_dec_block_group_reservations(fs_info, ins->objectid); fs_info 4127 fs/btrfs/extent-tree.c fs_info->sectorsize); fs_info 4133 fs/btrfs/extent-tree.c } else if (btrfs_test_opt(fs_info, ENOSPC_DEBUG)) { fs_info 4136 fs/btrfs/extent-tree.c sinfo = btrfs_find_space_info(fs_info, flags); fs_info 4137 fs/btrfs/extent-tree.c btrfs_err(fs_info, fs_info 4141 fs/btrfs/extent-tree.c btrfs_dump_space_info(fs_info, sinfo, fs_info 4149 fs/btrfs/extent-tree.c static int __btrfs_free_reserved_extent(struct btrfs_fs_info *fs_info, fs_info 4156 fs/btrfs/extent-tree.c cache = btrfs_lookup_block_group(fs_info, start); fs_info 4158 fs/btrfs/extent-tree.c btrfs_err(fs_info, "Unable to find block group for %llu", fs_info 4166 fs/btrfs/extent-tree.c if (btrfs_test_opt(fs_info, DISCARD)) fs_info 4167 fs/btrfs/extent-tree.c ret = btrfs_discard_extent(fs_info, start, len, NULL); fs_info 4170 fs/btrfs/extent-tree.c trace_btrfs_reserved_extent_free(fs_info, start, len); fs_info 4177 fs/btrfs/extent-tree.c int btrfs_free_reserved_extent(struct btrfs_fs_info *fs_info, fs_info 4180 fs/btrfs/extent-tree.c return __btrfs_free_reserved_extent(fs_info, start, len, 0, delalloc); fs_info 4183 fs/btrfs/extent-tree.c int btrfs_free_and_pin_reserved_extent(struct btrfs_fs_info *fs_info, fs_info 4186 fs/btrfs/extent-tree.c return __btrfs_free_reserved_extent(fs_info, start, len, 1, 0); fs_info 4194 fs/btrfs/extent-tree.c struct btrfs_fs_info *fs_info = trans->fs_info; fs_info 4215 fs/btrfs/extent-tree.c ret = btrfs_insert_empty_item(trans, fs_info->extent_root, path, fs_info 4255 fs/btrfs/extent-tree.c btrfs_err(fs_info, "update block group failed for %llu %llu", fs_info 4259 fs/btrfs/extent-tree.c trace_btrfs_reserved_extent_alloc(fs_info, ins->objectid, ins->offset); fs_info 4267 fs/btrfs/extent-tree.c struct btrfs_fs_info *fs_info = trans->fs_info; fs_info 4279 fs/btrfs/extent-tree.c bool skinny_metadata = btrfs_fs_incompat(fs_info, SKINNY_METADATA); fs_info 4287 fs/btrfs/extent-tree.c num_bytes = fs_info->nodesize; fs_info 4300 fs/btrfs/extent-tree.c ret = btrfs_insert_empty_item(trans, fs_info->extent_root, path, fs_info 4344 fs/btrfs/extent-tree.c fs_info->nodesize, 1); fs_info 4346 fs/btrfs/extent-tree.c btrfs_err(fs_info, "update block group failed for %llu %llu", fs_info 4351 fs/btrfs/extent-tree.c trace_btrfs_reserved_extent_alloc(fs_info, extent_key.objectid, fs_info 4352 fs/btrfs/extent-tree.c fs_info->nodesize); fs_info 4369 fs/btrfs/extent-tree.c btrfs_ref_tree_mod(root->fs_info, &generic_ref); fs_info 4384 fs/btrfs/extent-tree.c struct btrfs_fs_info *fs_info = trans->fs_info; fs_info 4393 fs/btrfs/extent-tree.c if (!btrfs_fs_incompat(fs_info, MIXED_GROUPS)) { fs_info 4394 fs/btrfs/extent-tree.c ret = __exclude_logged_extent(fs_info, ins->objectid, fs_info 4400 fs/btrfs/extent-tree.c block_group = btrfs_lookup_block_group(fs_info, ins->objectid); fs_info 4415 fs/btrfs/extent-tree.c btrfs_pin_extent(fs_info, ins->objectid, ins->offset, 1); fs_info 4424 fs/btrfs/extent-tree.c struct btrfs_fs_info *fs_info = root->fs_info; fs_info 4427 fs/btrfs/extent-tree.c buf = btrfs_find_create_tree_block(fs_info, bytenr); fs_info 4437 fs/btrfs/extent-tree.c btrfs_err_rl(fs_info, fs_info 4458 fs/btrfs/extent-tree.c write_extent_buffer_fsid(buf, fs_info->fs_devices->metadata_uuid); fs_info 4459 fs/btrfs/extent-tree.c write_extent_buffer_chunk_tree_uuid(buf, fs_info->chunk_tree_uuid); fs_info 4493 fs/btrfs/extent-tree.c struct btrfs_fs_info *fs_info = root->fs_info; fs_info 4501 fs/btrfs/extent-tree.c u32 blocksize = fs_info->nodesize; fs_info 4502 fs/btrfs/extent-tree.c bool skinny_metadata = btrfs_fs_incompat(fs_info, SKINNY_METADATA); fs_info 4505 fs/btrfs/extent-tree.c if (btrfs_is_testing(fs_info)) { fs_info 4557 fs/btrfs/extent-tree.c btrfs_ref_tree_mod(fs_info, &generic_ref); fs_info 4570 fs/btrfs/extent-tree.c btrfs_free_reserved_extent(fs_info, ins.objectid, ins.offset, 0); fs_info 4572 fs/btrfs/extent-tree.c btrfs_unuse_block_rsv(fs_info, block_rsv, blocksize); fs_info 4600 fs/btrfs/extent-tree.c struct btrfs_fs_info *fs_info = root->fs_info; fs_info 4618 fs/btrfs/extent-tree.c BTRFS_NODEPTRS_PER_BLOCK(fs_info)); fs_info 4640 fs/btrfs/extent-tree.c ret = btrfs_lookup_extent_info(trans, fs_info, bytenr, fs_info 4669 fs/btrfs/extent-tree.c readahead_tree_block(fs_info, bytenr); fs_info 4688 fs/btrfs/extent-tree.c struct btrfs_fs_info *fs_info = root->fs_info; fs_info 4706 fs/btrfs/extent-tree.c ret = btrfs_lookup_extent_info(trans, fs_info, fs_info 4769 fs/btrfs/extent-tree.c root->fs_info->nodesize, parent, fs_info 4797 fs/btrfs/extent-tree.c struct btrfs_fs_info *fs_info = root->fs_info; fs_info 4827 fs/btrfs/extent-tree.c next = find_extent_buffer(fs_info, bytenr); fs_info 4829 fs/btrfs/extent-tree.c next = btrfs_find_create_tree_block(fs_info, bytenr); fs_info 4840 fs/btrfs/extent-tree.c ret = btrfs_lookup_extent_info(trans, fs_info, bytenr, level - 1, 1, fs_info 4847 fs/btrfs/extent-tree.c btrfs_err(fs_info, "Missing references."); fs_info 4889 fs/btrfs/extent-tree.c next = read_tree_block(fs_info, bytenr, generation, level - 1, fs_info 4904 fs/btrfs/extent-tree.c btrfs_err(root->fs_info, "mismatched level"); fs_info 4926 fs/btrfs/extent-tree.c btrfs_err(root->fs_info, fs_info 4961 fs/btrfs/extent-tree.c btrfs_err_rl(fs_info, fs_info 4977 fs/btrfs/extent-tree.c fs_info->nodesize, parent); fs_info 5011 fs/btrfs/extent-tree.c struct btrfs_fs_info *fs_info = root->fs_info; fs_info 5041 fs/btrfs/extent-tree.c ret = btrfs_lookup_extent_info(trans, fs_info, fs_info 5072 fs/btrfs/extent-tree.c btrfs_err_rl(fs_info, fs_info 5108 fs/btrfs/extent-tree.c btrfs_err_rl(fs_info, "unexpected tree owner, have %llu expect %llu", fs_info 5197 fs/btrfs/extent-tree.c struct btrfs_fs_info *fs_info = root->fs_info; fs_info 5200 fs/btrfs/extent-tree.c struct btrfs_root *tree_root = fs_info->tree_root; fs_info 5209 fs/btrfs/extent-tree.c btrfs_debug(fs_info, "Drop subvolume %llu", root->root_key.objectid); fs_info 5282 fs/btrfs/extent-tree.c ret = btrfs_lookup_extent_info(trans, fs_info, fs_info 5308 fs/btrfs/extent-tree.c wc->reada_count = BTRFS_NODEPTRS_PER_BLOCK(fs_info); fs_info 5341 fs/btrfs/extent-tree.c (!for_reloc && btrfs_need_cleaner_sleep(fs_info))) { fs_info 5352 fs/btrfs/extent-tree.c if (!for_reloc && btrfs_need_cleaner_sleep(fs_info)) { fs_info 5353 fs/btrfs/extent-tree.c btrfs_debug(fs_info, fs_info 5421 fs/btrfs/extent-tree.c btrfs_handle_fs_error(fs_info, err, NULL); fs_info 5436 fs/btrfs/extent-tree.c struct btrfs_fs_info *fs_info = root->fs_info; fs_info 5475 fs/btrfs/extent-tree.c wc->reada_count = BTRFS_NODEPTRS_PER_BLOCK(fs_info); fs_info 5531 fs/btrfs/extent-tree.c int btrfs_error_unpin_extent_range(struct btrfs_fs_info *fs_info, fs_info 5534 fs/btrfs/extent-tree.c return unpin_extent_range(fs_info, start, end, false); fs_info 5579 fs/btrfs/extent-tree.c struct btrfs_fs_info *fs_info = device->fs_info; fs_info 5582 fs/btrfs/extent-tree.c ret = mutex_lock_interruptible(&fs_info->chunk_mutex); fs_info 5604 fs/btrfs/extent-tree.c mutex_unlock(&fs_info->chunk_mutex); fs_info 5615 fs/btrfs/extent-tree.c mutex_unlock(&fs_info->chunk_mutex); fs_info 5643 fs/btrfs/extent-tree.c int btrfs_trim_fs(struct btrfs_fs_info *fs_info, struct fstrim_range *range) fs_info 5667 fs/btrfs/extent-tree.c cache = btrfs_lookup_first_block_group(fs_info, range->start); fs_info 5708 fs/btrfs/extent-tree.c btrfs_warn(fs_info, fs_info 5711 fs/btrfs/extent-tree.c mutex_lock(&fs_info->fs_devices->device_list_mutex); fs_info 5712 fs/btrfs/extent-tree.c devices = &fs_info->fs_devices->devices; fs_info 5723 fs/btrfs/extent-tree.c mutex_unlock(&fs_info->fs_devices->device_list_mutex); fs_info 5726 fs/btrfs/extent-tree.c btrfs_warn(fs_info, fs_info 100 fs/btrfs/extent_io.c btrfs_debug_rl(BTRFS_I(inode)->root->fs_info, fs_info 250 fs/btrfs/extent_io.c void extent_io_tree_init(struct btrfs_fs_info *fs_info, fs_info 254 fs/btrfs/extent_io.c tree->fs_info = fs_info; fs_info 526 fs/btrfs/extent_io.c btrfs_err(tree->fs_info, fs_info 539 fs/btrfs/extent_io.c btrfs_err(tree->fs_info, fs_info 2179 fs/btrfs/extent_io.c int repair_io_failure(struct btrfs_fs_info *fs_info, u64 ino, u64 start, fs_info 2190 fs/btrfs/extent_io.c ASSERT(!(fs_info->sb->s_flags & SB_RDONLY)); fs_info 2202 fs/btrfs/extent_io.c btrfs_bio_counter_inc_blocked(fs_info); fs_info 2203 fs/btrfs/extent_io.c if (btrfs_is_parity_mirror(fs_info, logical, length)) { fs_info 2210 fs/btrfs/extent_io.c ret = btrfs_map_block(fs_info, BTRFS_MAP_READ, logical, fs_info 2213 fs/btrfs/extent_io.c btrfs_bio_counter_dec(fs_info); fs_info 2219 fs/btrfs/extent_io.c ret = btrfs_map_block(fs_info, BTRFS_MAP_WRITE, logical, fs_info 2222 fs/btrfs/extent_io.c btrfs_bio_counter_dec(fs_info); fs_info 2235 fs/btrfs/extent_io.c btrfs_bio_counter_dec(fs_info); fs_info 2245 fs/btrfs/extent_io.c btrfs_bio_counter_dec(fs_info); fs_info 2251 fs/btrfs/extent_io.c btrfs_info_rl_in_rcu(fs_info, fs_info 2255 fs/btrfs/extent_io.c btrfs_bio_counter_dec(fs_info); fs_info 2262 fs/btrfs/extent_io.c struct btrfs_fs_info *fs_info = eb->fs_info; fs_info 2267 fs/btrfs/extent_io.c if (sb_rdonly(fs_info->sb)) fs_info 2273 fs/btrfs/extent_io.c ret = repair_io_failure(fs_info, 0, start, PAGE_SIZE, start, p, fs_info 2287 fs/btrfs/extent_io.c int clean_io_failure(struct btrfs_fs_info *fs_info, fs_info 2312 fs/btrfs/extent_io.c btrfs_debug(fs_info, fs_info 2317 fs/btrfs/extent_io.c if (sb_rdonly(fs_info->sb)) fs_info 2328 fs/btrfs/extent_io.c num_copies = btrfs_num_copies(fs_info, failrec->logical, fs_info 2331 fs/btrfs/extent_io.c repair_io_failure(fs_info, ino, start, failrec->len, fs_info 2380 fs/btrfs/extent_io.c struct btrfs_fs_info *fs_info = btrfs_sb(inode->i_sb); fs_info 2428 fs/btrfs/extent_io.c btrfs_debug(fs_info, fs_info 2448 fs/btrfs/extent_io.c btrfs_debug(fs_info, fs_info 2467 fs/btrfs/extent_io.c struct btrfs_fs_info *fs_info = btrfs_sb(inode->i_sb); fs_info 2470 fs/btrfs/extent_io.c num_copies = btrfs_num_copies(fs_info, failrec->logical, failrec->len); fs_info 2477 fs/btrfs/extent_io.c btrfs_debug(fs_info, fs_info 2518 fs/btrfs/extent_io.c btrfs_debug(fs_info, fs_info 2533 fs/btrfs/extent_io.c struct btrfs_fs_info *fs_info = btrfs_sb(inode->i_sb); fs_info 2541 fs/btrfs/extent_io.c bio_set_dev(bio, fs_info->fs_devices->latest_bdev); fs_info 2547 fs/btrfs/extent_io.c u16 csum_size = btrfs_super_csum_size(fs_info->super_copy); fs_info 2656 fs/btrfs/extent_io.c struct btrfs_fs_info *fs_info = btrfs_sb(inode->i_sb); fs_info 2665 fs/btrfs/extent_io.c btrfs_err(fs_info, fs_info 2669 fs/btrfs/extent_io.c btrfs_info(fs_info, fs_info 2727 fs/btrfs/extent_io.c struct btrfs_fs_info *fs_info = btrfs_sb(inode->i_sb); fs_info 2731 fs/btrfs/extent_io.c btrfs_debug(fs_info, fs_info 2745 fs/btrfs/extent_io.c btrfs_err(fs_info, fs_info 2749 fs/btrfs/extent_io.c btrfs_info(fs_info, fs_info 2766 fs/btrfs/extent_io.c clean_io_failure(BTRFS_I(inode)->root->fs_info, fs_info 3520 fs/btrfs/extent_io.c btrfs_err(BTRFS_I(inode)->root->fs_info, fs_info 3652 fs/btrfs/extent_io.c struct btrfs_fs_info *fs_info = eb->fs_info; fs_info 3694 fs/btrfs/extent_io.c percpu_counter_add_batch(&fs_info->dirty_metadata_bytes, fs_info 3696 fs/btrfs/extent_io.c fs_info->dirty_metadata_batch); fs_info 3742 fs/btrfs/extent_io.c percpu_counter_add_batch(&fs_info->dirty_metadata_bytes, eb->len, fs_info 3743 fs/btrfs/extent_io.c fs_info->dirty_metadata_batch); fs_info 3752 fs/btrfs/extent_io.c struct btrfs_fs_info *fs_info; fs_info 3762 fs/btrfs/extent_io.c fs_info = eb->fs_info; fs_info 3763 fs/btrfs/extent_io.c percpu_counter_add_batch(&fs_info->dirty_metadata_bytes, fs_info 3764 fs/btrfs/extent_io.c eb->len, fs_info->dirty_metadata_batch); fs_info 3806 fs/btrfs/extent_io.c set_bit(BTRFS_FS_BTREE_ERR, &eb->fs_info->flags); fs_info 3809 fs/btrfs/extent_io.c set_bit(BTRFS_FS_LOG1_ERR, &eb->fs_info->flags); fs_info 3812 fs/btrfs/extent_io.c set_bit(BTRFS_FS_LOG2_ERR, &eb->fs_info->flags); fs_info 3855 fs/btrfs/extent_io.c struct btrfs_fs_info *fs_info = eb->fs_info; fs_info 3856 fs/btrfs/extent_io.c struct block_device *bdev = fs_info->fs_devices->latest_bdev; fs_info 3857 fs/btrfs/extent_io.c struct extent_io_tree *tree = &BTRFS_I(fs_info->btree_inode)->io_tree; fs_info 3931 fs/btrfs/extent_io.c struct btrfs_fs_info *fs_info = BTRFS_I(mapping->host)->root->fs_info; fs_info 4072 fs/btrfs/extent_io.c if (!test_bit(BTRFS_FS_STATE_ERROR, &fs_info->fs_state)) { fs_info 4920 fs/btrfs/extent_io.c __alloc_extent_buffer(struct btrfs_fs_info *fs_info, u64 start, fs_info 4928 fs/btrfs/extent_io.c eb->fs_info = fs_info; fs_info 4967 fs/btrfs/extent_io.c new = __alloc_extent_buffer(src->fs_info, src->start, src->len); fs_info 4990 fs/btrfs/extent_io.c struct extent_buffer *__alloc_dummy_extent_buffer(struct btrfs_fs_info *fs_info, fs_info 4997 fs/btrfs/extent_io.c eb = __alloc_extent_buffer(fs_info, start, len); fs_info 5019 fs/btrfs/extent_io.c struct extent_buffer *alloc_dummy_extent_buffer(struct btrfs_fs_info *fs_info, fs_info 5022 fs/btrfs/extent_io.c return __alloc_dummy_extent_buffer(fs_info, start, fs_info->nodesize); fs_info 5074 fs/btrfs/extent_io.c struct extent_buffer *find_extent_buffer(struct btrfs_fs_info *fs_info, fs_info 5080 fs/btrfs/extent_io.c eb = radix_tree_lookup(&fs_info->buffer_radix, fs_info 5112 fs/btrfs/extent_io.c struct extent_buffer *alloc_test_extent_buffer(struct btrfs_fs_info *fs_info, fs_info 5118 fs/btrfs/extent_io.c eb = find_extent_buffer(fs_info, start); fs_info 5121 fs/btrfs/extent_io.c eb = alloc_dummy_extent_buffer(fs_info, start); fs_info 5124 fs/btrfs/extent_io.c eb->fs_info = fs_info; fs_info 5131 fs/btrfs/extent_io.c spin_lock(&fs_info->buffer_lock); fs_info 5132 fs/btrfs/extent_io.c ret = radix_tree_insert(&fs_info->buffer_radix, fs_info 5134 fs/btrfs/extent_io.c spin_unlock(&fs_info->buffer_lock); fs_info 5137 fs/btrfs/extent_io.c exists = find_extent_buffer(fs_info, start); fs_info 5153 fs/btrfs/extent_io.c struct extent_buffer *alloc_extent_buffer(struct btrfs_fs_info *fs_info, fs_info 5156 fs/btrfs/extent_io.c unsigned long len = fs_info->nodesize; fs_info 5163 fs/btrfs/extent_io.c struct address_space *mapping = fs_info->btree_inode->i_mapping; fs_info 5167 fs/btrfs/extent_io.c if (!IS_ALIGNED(start, fs_info->sectorsize)) { fs_info 5168 fs/btrfs/extent_io.c btrfs_err(fs_info, "bad tree block start %llu", start); fs_info 5172 fs/btrfs/extent_io.c eb = find_extent_buffer(fs_info, start); fs_info 5176 fs/btrfs/extent_io.c eb = __alloc_extent_buffer(fs_info, start, len); fs_info 5239 fs/btrfs/extent_io.c spin_lock(&fs_info->buffer_lock); fs_info 5240 fs/btrfs/extent_io.c ret = radix_tree_insert(&fs_info->buffer_radix, fs_info 5242 fs/btrfs/extent_io.c spin_unlock(&fs_info->buffer_lock); fs_info 5245 fs/btrfs/extent_io.c exists = find_extent_buffer(fs_info, start); fs_info 5290 fs/btrfs/extent_io.c struct btrfs_fs_info *fs_info = eb->fs_info; fs_info 5294 fs/btrfs/extent_io.c spin_lock(&fs_info->buffer_lock); fs_info 5295 fs/btrfs/extent_io.c radix_tree_delete(&fs_info->buffer_radix, fs_info 5297 fs/btrfs/extent_io.c spin_unlock(&fs_info->buffer_lock); fs_info 5459 fs/btrfs/extent_io.c struct extent_io_tree *tree = &BTRFS_I(eb->fs_info->btree_inode)->io_tree; fs_info 5998 fs/btrfs/extent_io.c struct btrfs_fs_info *fs_info = dst->fs_info; fs_info 6007 fs/btrfs/extent_io.c btrfs_err(fs_info, fs_info 6013 fs/btrfs/extent_io.c btrfs_err(fs_info, fs_info 6043 fs/btrfs/extent_io.c struct btrfs_fs_info *fs_info = dst->fs_info; fs_info 6054 fs/btrfs/extent_io.c btrfs_err(fs_info, fs_info 6060 fs/btrfs/extent_io.c btrfs_err(fs_info, fs_info 127 fs/btrfs/extent_io.h struct btrfs_fs_info *fs_info; fs_info 162 fs/btrfs/extent_io.h struct btrfs_fs_info *fs_info; fs_info 262 fs/btrfs/extent_io.h void extent_io_tree_init(struct btrfs_fs_info *fs_info, fs_info 421 fs/btrfs/extent_io.h struct extent_buffer *alloc_extent_buffer(struct btrfs_fs_info *fs_info, fs_info 423 fs/btrfs/extent_io.h struct extent_buffer *__alloc_dummy_extent_buffer(struct btrfs_fs_info *fs_info, fs_info 425 fs/btrfs/extent_io.h struct extent_buffer *alloc_dummy_extent_buffer(struct btrfs_fs_info *fs_info, fs_info 428 fs/btrfs/extent_io.h struct extent_buffer *find_extent_buffer(struct btrfs_fs_info *fs_info, fs_info 508 fs/btrfs/extent_io.h int repair_io_failure(struct btrfs_fs_info *fs_info, u64 ino, u64 start, fs_info 511 fs/btrfs/extent_io.h int clean_io_failure(struct btrfs_fs_info *fs_info, fs_info 556 fs/btrfs/extent_io.h struct extent_buffer *alloc_test_extent_buffer(struct btrfs_fs_info *fs_info, fs_info 592 fs/btrfs/extent_map.c int btrfs_add_extent_mapping(struct btrfs_fs_info *fs_info, fs_info 611 fs/btrfs/extent_map.c trace_btrfs_handle_em_exist(fs_info, existing, em, start, len); fs_info 103 fs/btrfs/extent_map.h int btrfs_add_extent_mapping(struct btrfs_fs_info *fs_info, fs_info 26 fs/btrfs/file-item.c static inline u32 max_ordered_sum_bytes(struct btrfs_fs_info *fs_info, fs_info 31 fs/btrfs/file-item.c return ncsums * fs_info->sectorsize; fs_info 86 fs/btrfs/file-item.c struct btrfs_fs_info *fs_info = root->fs_info; fs_info 93 fs/btrfs/file-item.c u16 csum_size = btrfs_super_csum_size(fs_info->super_copy); fs_info 113 fs/btrfs/file-item.c fs_info->sb->s_blocksize_bits; fs_info 154 fs/btrfs/file-item.c struct btrfs_fs_info *fs_info = btrfs_sb(inode->i_sb); fs_info 170 fs/btrfs/file-item.c u16 csum_size = btrfs_super_csum_size(fs_info->super_copy); fs_info 230 fs/btrfs/file-item.c item = btrfs_lookup_csum(NULL, fs_info->csum_root, fs_info 238 fs/btrfs/file-item.c offset + fs_info->sectorsize - 1, fs_info 241 fs/btrfs/file-item.c btrfs_info_rl(fs_info, fs_info 257 fs/btrfs/file-item.c fs_info->sectorsize; fs_info 266 fs/btrfs/file-item.c diff = diff / fs_info->sectorsize; fs_info 279 fs/btrfs/file-item.c disk_bytenr += fs_info->sectorsize; fs_info 280 fs/btrfs/file-item.c offset += fs_info->sectorsize; fs_info 281 fs/btrfs/file-item.c page_bytes_left -= fs_info->sectorsize; fs_info 306 fs/btrfs/file-item.c struct btrfs_fs_info *fs_info = root->fs_info; fs_info 317 fs/btrfs/file-item.c u16 csum_size = btrfs_super_csum_size(fs_info->super_copy); fs_info 319 fs/btrfs/file-item.c ASSERT(IS_ALIGNED(start, fs_info->sectorsize) && fs_info 320 fs/btrfs/file-item.c IS_ALIGNED(end + 1, fs_info->sectorsize)); fs_info 345 fs/btrfs/file-item.c fs_info->sb->s_blocksize_bits; fs_info 373 fs/btrfs/file-item.c csum_end = key.offset + (size / csum_size) * fs_info->sectorsize; fs_info 384 fs/btrfs/file-item.c max_ordered_sum_bytes(fs_info, csum_size)); fs_info 385 fs/btrfs/file-item.c sums = kzalloc(btrfs_ordered_sum_size(fs_info, size), fs_info 396 fs/btrfs/file-item.c fs_info->sb->s_blocksize_bits; fs_info 398 fs/btrfs/file-item.c size >>= fs_info->sb->s_blocksize_bits; fs_info 405 fs/btrfs/file-item.c start += fs_info->sectorsize * size; fs_info 436 fs/btrfs/file-item.c struct btrfs_fs_info *fs_info = btrfs_sb(inode->i_sb); fs_info 437 fs/btrfs/file-item.c SHASH_DESC_ON_STACK(shash, fs_info->csum_shash); fs_info 450 fs/btrfs/file-item.c const u16 csum_size = btrfs_super_csum_size(fs_info->super_copy); fs_info 453 fs/btrfs/file-item.c sums = kvzalloc(btrfs_ordered_sum_size(fs_info, bio->bi_iter.bi_size), fs_info 471 fs/btrfs/file-item.c shash->tfm = fs_info->csum_shash; fs_info 482 fs/btrfs/file-item.c nr_sectors = BTRFS_BYTES_TO_BLKS(fs_info, fs_info 483 fs/btrfs/file-item.c bvec.bv_len + fs_info->sectorsize fs_info 499 fs/btrfs/file-item.c sums = kvzalloc(btrfs_ordered_sum_size(fs_info, fs_info 515 fs/btrfs/file-item.c + (i * fs_info->sectorsize), fs_info 516 fs/btrfs/file-item.c fs_info->sectorsize); fs_info 520 fs/btrfs/file-item.c offset += fs_info->sectorsize; fs_info 521 fs/btrfs/file-item.c this_sum_bytes += fs_info->sectorsize; fs_info 522 fs/btrfs/file-item.c total_bytes += fs_info->sectorsize; fs_info 543 fs/btrfs/file-item.c static noinline void truncate_one_csum(struct btrfs_fs_info *fs_info, fs_info 549 fs/btrfs/file-item.c u16 csum_size = btrfs_super_csum_size(fs_info->super_copy); fs_info 552 fs/btrfs/file-item.c u32 blocksize_bits = fs_info->sb->s_blocksize_bits; fs_info 556 fs/btrfs/file-item.c csum_end <<= fs_info->sb->s_blocksize_bits; fs_info 583 fs/btrfs/file-item.c btrfs_set_item_key_safe(fs_info, path, key); fs_info 596 fs/btrfs/file-item.c struct btrfs_fs_info *fs_info = trans->fs_info; fs_info 603 fs/btrfs/file-item.c u16 csum_size = btrfs_super_csum_size(fs_info->super_copy); fs_info 604 fs/btrfs/file-item.c int blocksize_bits = fs_info->sb->s_blocksize_bits; fs_info 606 fs/btrfs/file-item.c ASSERT(root == fs_info->csum_root || fs_info 726 fs/btrfs/file-item.c truncate_one_csum(fs_info, path, &key, bytenr, len); fs_info 742 fs/btrfs/file-item.c struct btrfs_fs_info *fs_info = root->fs_info; fs_info 758 fs/btrfs/file-item.c u16 csum_size = btrfs_super_csum_size(fs_info->super_copy); fs_info 791 fs/btrfs/file-item.c MAX_CSUM_ITEMS(fs_info, csum_size)) { fs_info 837 fs/btrfs/file-item.c fs_info->sb->s_blocksize_bits; fs_info 841 fs/btrfs/file-item.c csum_offset >= MAX_CSUM_ITEMS(fs_info, csum_size)) { fs_info 859 fs/btrfs/file-item.c tmp >>= fs_info->sb->s_blocksize_bits; fs_info 865 fs/btrfs/file-item.c MAX_CSUM_ITEMS(fs_info, csum_size) * csum_size); fs_info 884 fs/btrfs/file-item.c tmp >>= fs_info->sb->s_blocksize_bits; fs_info 886 fs/btrfs/file-item.c fs_info->sb->s_blocksize_bits); fs_info 889 fs/btrfs/file-item.c tmp = min_t(u64, tmp, MAX_CSUM_ITEMS(fs_info, csum_size)); fs_info 911 fs/btrfs/file-item.c fs_info->sb->s_blocksize_bits; fs_info 920 fs/btrfs/file-item.c total_bytes += ins_size * fs_info->sectorsize; fs_info 942 fs/btrfs/file-item.c struct btrfs_fs_info *fs_info = inode->root->fs_info; fs_info 952 fs/btrfs/file-item.c em->bdev = fs_info->fs_devices->latest_bdev; fs_info 964 fs/btrfs/file-item.c fs_info->sectorsize); fs_info 1007 fs/btrfs/file-item.c btrfs_err(fs_info, fs_info 84 fs/btrfs/file.c struct btrfs_fs_info *fs_info = inode->root->fs_info; fs_info 90 fs/btrfs/file.c p = &fs_info->defrag_inodes.rb_node; fs_info 114 fs/btrfs/file.c rb_insert_color(&defrag->rb_node, &fs_info->defrag_inodes); fs_info 118 fs/btrfs/file.c static inline int __need_auto_defrag(struct btrfs_fs_info *fs_info) fs_info 120 fs/btrfs/file.c if (!btrfs_test_opt(fs_info, AUTO_DEFRAG)) fs_info 123 fs/btrfs/file.c if (btrfs_fs_closing(fs_info)) fs_info 137 fs/btrfs/file.c struct btrfs_fs_info *fs_info = root->fs_info; fs_info 142 fs/btrfs/file.c if (!__need_auto_defrag(fs_info)) fs_info 161 fs/btrfs/file.c spin_lock(&fs_info->defrag_inodes_lock); fs_info 174 fs/btrfs/file.c spin_unlock(&fs_info->defrag_inodes_lock); fs_info 186 fs/btrfs/file.c struct btrfs_fs_info *fs_info = inode->root->fs_info; fs_info 189 fs/btrfs/file.c if (!__need_auto_defrag(fs_info)) fs_info 196 fs/btrfs/file.c spin_lock(&fs_info->defrag_inodes_lock); fs_info 198 fs/btrfs/file.c spin_unlock(&fs_info->defrag_inodes_lock); fs_info 211 fs/btrfs/file.c btrfs_pick_defrag_inode(struct btrfs_fs_info *fs_info, u64 root, u64 ino) fs_info 222 fs/btrfs/file.c spin_lock(&fs_info->defrag_inodes_lock); fs_info 223 fs/btrfs/file.c p = fs_info->defrag_inodes.rb_node; fs_info 246 fs/btrfs/file.c rb_erase(parent, &fs_info->defrag_inodes); fs_info 247 fs/btrfs/file.c spin_unlock(&fs_info->defrag_inodes_lock); fs_info 251 fs/btrfs/file.c void btrfs_cleanup_defrag_inodes(struct btrfs_fs_info *fs_info) fs_info 256 fs/btrfs/file.c spin_lock(&fs_info->defrag_inodes_lock); fs_info 257 fs/btrfs/file.c node = rb_first(&fs_info->defrag_inodes); fs_info 259 fs/btrfs/file.c rb_erase(node, &fs_info->defrag_inodes); fs_info 263 fs/btrfs/file.c cond_resched_lock(&fs_info->defrag_inodes_lock); fs_info 265 fs/btrfs/file.c node = rb_first(&fs_info->defrag_inodes); fs_info 267 fs/btrfs/file.c spin_unlock(&fs_info->defrag_inodes_lock); fs_info 272 fs/btrfs/file.c static int __btrfs_run_defrag_inode(struct btrfs_fs_info *fs_info, fs_info 288 fs/btrfs/file.c index = srcu_read_lock(&fs_info->subvol_srcu); fs_info 290 fs/btrfs/file.c inode_root = btrfs_read_fs_root_no_name(fs_info, &key); fs_info 299 fs/btrfs/file.c inode = btrfs_iget(fs_info->sb, &key, inode_root, NULL); fs_info 304 fs/btrfs/file.c srcu_read_unlock(&fs_info->subvol_srcu, index); fs_info 312 fs/btrfs/file.c sb_start_write(fs_info->sb); fs_info 315 fs/btrfs/file.c sb_end_write(fs_info->sb); fs_info 340 fs/btrfs/file.c srcu_read_unlock(&fs_info->subvol_srcu, index); fs_info 349 fs/btrfs/file.c int btrfs_run_defrag_inodes(struct btrfs_fs_info *fs_info) fs_info 355 fs/btrfs/file.c atomic_inc(&fs_info->defrag_running); fs_info 359 fs/btrfs/file.c &fs_info->fs_state)) fs_info 362 fs/btrfs/file.c if (!__need_auto_defrag(fs_info)) fs_info 366 fs/btrfs/file.c defrag = btrfs_pick_defrag_inode(fs_info, root_objectid, fs_info 381 fs/btrfs/file.c __btrfs_run_defrag_inode(fs_info, defrag); fs_info 383 fs/btrfs/file.c atomic_dec(&fs_info->defrag_running); fs_info 389 fs/btrfs/file.c wake_up(&fs_info->transaction_wait); fs_info 519 fs/btrfs/file.c struct btrfs_fs_info *fs_info = btrfs_sb(inode->i_sb); fs_info 529 fs/btrfs/file.c start_pos = pos & ~((u64) fs_info->sectorsize - 1); fs_info 531 fs/btrfs/file.c fs_info->sectorsize); fs_info 755 fs/btrfs/file.c struct btrfs_fs_info *fs_info = root->fs_info; fs_info 785 fs/btrfs/file.c root == fs_info->tree_root); fs_info 944 fs/btrfs/file.c btrfs_set_item_key_safe(fs_info, path, &new_key); fs_info 999 fs/btrfs/file.c fs_info->sectorsize); fs_info 1148 fs/btrfs/file.c struct btrfs_fs_info *fs_info = trans->fs_info; fs_info 1219 fs/btrfs/file.c btrfs_set_item_key_safe(fs_info, path, &new_key); fs_info 1253 fs/btrfs/file.c btrfs_set_item_key_safe(fs_info, path, &new_key); fs_info 1487 fs/btrfs/file.c struct btrfs_fs_info *fs_info = inode->root->fs_info; fs_info 1493 fs/btrfs/file.c start_pos = round_down(pos, fs_info->sectorsize); fs_info 1496 fs/btrfs/file.c fs_info->sectorsize) - 1; fs_info 1552 fs/btrfs/file.c struct btrfs_fs_info *fs_info = inode->root->fs_info; fs_info 1562 fs/btrfs/file.c lockstart = round_down(pos, fs_info->sectorsize); fs_info 1564 fs/btrfs/file.c fs_info->sectorsize) - 1; fs_info 1591 fs/btrfs/file.c struct btrfs_fs_info *fs_info = btrfs_sb(inode->i_sb); fs_info 1640 fs/btrfs/file.c sector_offset = pos & (fs_info->sectorsize - 1); fs_info 1642 fs/btrfs/file.c fs_info->sectorsize); fs_info 1665 fs/btrfs/file.c fs_info->sectorsize); fs_info 1715 fs/btrfs/file.c num_sectors = BTRFS_BYTES_TO_BLKS(fs_info, reserve_bytes); fs_info 1717 fs/btrfs/file.c fs_info->sectorsize); fs_info 1718 fs/btrfs/file.c dirty_sectors = BTRFS_BYTES_TO_BLKS(fs_info, dirty_sectors); fs_info 1740 fs/btrfs/file.c fs_info->sb->s_blocksize_bits; fs_info 1748 fs/btrfs/file.c fs_info->sectorsize) + fs_info 1757 fs/btrfs/file.c fs_info->sectorsize); fs_info 1788 fs/btrfs/file.c fs_info->sectorsize); fs_info 1790 fs/btrfs/file.c fs_info->sectorsize) - 1; fs_info 1802 fs/btrfs/file.c if (dirty_pages < (fs_info->nodesize >> PAGE_SHIFT) + 1) fs_info 1803 fs/btrfs/file.c btrfs_btree_balance_dirty(fs_info); fs_info 1818 fs/btrfs/file.c round_down(pos, fs_info->sectorsize), fs_info 1890 fs/btrfs/file.c struct btrfs_fs_info *fs_info = btrfs_sb(inode->i_sb); fs_info 1947 fs/btrfs/file.c if (test_bit(BTRFS_FS_STATE_ERROR, &fs_info->fs_state)) { fs_info 1961 fs/btrfs/file.c start_pos = round_down(pos, fs_info->sectorsize); fs_info 1966 fs/btrfs/file.c fs_info->sectorsize); fs_info 1972 fs/btrfs/file.c if (start_pos > round_up(oldsize, fs_info->sectorsize)) fs_info 2066 fs/btrfs/file.c struct btrfs_fs_info *fs_info = btrfs_sb(inode->i_sb); fs_info 2081 fs/btrfs/file.c if (!btrfs_fs_incompat(fs_info, NO_HOLES)) { fs_info 2161 fs/btrfs/file.c if (btrfs_inode_in_log(BTRFS_I(inode), fs_info->generation) || fs_info 2162 fs/btrfs/file.c BTRFS_I(inode)->last_trans <= fs_info->last_trans_committed) { fs_info 2293 fs/btrfs/file.c struct btrfs_fs_info *fs_info = trans->fs_info; fs_info 2302 fs/btrfs/file.c if (btrfs_fs_incompat(fs_info, NO_HOLES)) fs_info 2340 fs/btrfs/file.c btrfs_set_item_key_safe(fs_info, path, &key); fs_info 2374 fs/btrfs/file.c hole_em->bdev = fs_info->fs_devices->latest_bdev; fs_info 2401 fs/btrfs/file.c struct btrfs_fs_info *fs_info = btrfs_sb(inode->i_sb); fs_info 2406 fs/btrfs/file.c round_down(*start, fs_info->sectorsize), fs_info 2407 fs/btrfs/file.c round_up(*len, fs_info->sectorsize), 0); fs_info 2469 fs/btrfs/file.c struct btrfs_fs_info *fs_info = btrfs_sb(inode->i_sb); fs_info 2483 fs/btrfs/file.c btrfs_fs_incompat(fs_info, NO_HOLES)) fs_info 2534 fs/btrfs/file.c struct btrfs_fs_info *fs_info = btrfs_sb(inode->i_sb); fs_info 2535 fs/btrfs/file.c u64 min_size = btrfs_calc_insert_metadata_size(fs_info, 1); fs_info 2536 fs/btrfs/file.c u64 ino_size = round_up(inode->i_size, fs_info->sectorsize); fs_info 2549 fs/btrfs/file.c rsv = btrfs_alloc_block_rsv(fs_info, BTRFS_BLOCK_RSV_TEMP); fs_info 2554 fs/btrfs/file.c rsv->size = btrfs_calc_insert_metadata_size(fs_info, 1); fs_info 2563 fs/btrfs/file.c if (!btrfs_fs_incompat(fs_info, NO_HOLES) || clone_info) fs_info 2575 fs/btrfs/file.c ret = btrfs_block_rsv_migrate(&fs_info->trans_block_rsv, rsv, fs_info 2598 fs/btrfs/file.c trans->block_rsv = &fs_info->trans_block_rsv; fs_info 2637 fs/btrfs/file.c btrfs_btree_balance_dirty(fs_info); fs_info 2646 fs/btrfs/file.c ret = btrfs_block_rsv_migrate(&fs_info->trans_block_rsv, fs_info 2677 fs/btrfs/file.c trans->block_rsv = &fs_info->trans_block_rsv; fs_info 2718 fs/btrfs/file.c trans->block_rsv = &fs_info->trans_block_rsv; fs_info 2724 fs/btrfs/file.c btrfs_free_block_rsv(fs_info, rsv); fs_info 2731 fs/btrfs/file.c struct btrfs_fs_info *fs_info = btrfs_sb(inode->i_sb); fs_info 2752 fs/btrfs/file.c ino_size = round_up(inode->i_size, fs_info->sectorsize); fs_info 2765 fs/btrfs/file.c same_block = (BTRFS_BYTES_TO_BLKS(fs_info, offset)) fs_info 2766 fs/btrfs/file.c == (BTRFS_BYTES_TO_BLKS(fs_info, offset + len - 1)); fs_info 2775 fs/btrfs/file.c if (same_block && len < fs_info->sectorsize) { fs_info 2861 fs/btrfs/file.c btrfs_btree_balance_dirty(fs_info); fs_info 2994 fs/btrfs/file.c struct btrfs_fs_info *fs_info = BTRFS_I(inode)->root->fs_info; fs_info 3049 fs/btrfs/file.c if (BTRFS_BYTES_TO_BLKS(fs_info, offset) == fs_info 3050 fs/btrfs/file.c BTRFS_BYTES_TO_BLKS(fs_info, offset + len - 1)) { fs_info 3367 fs/btrfs/file.c struct btrfs_fs_info *fs_info = btrfs_sb(inode->i_sb); fs_info 3385 fs/btrfs/file.c lockstart = round_down(start, fs_info->sectorsize); fs_info 3387 fs/btrfs/file.c fs_info->sectorsize); fs_info 3389 fs/btrfs/file.c lockend = lockstart + fs_info->sectorsize; fs_info 47 fs/btrfs/free-space-cache.c struct btrfs_fs_info *fs_info = root->fs_info; fs_info 81 fs/btrfs/free-space-cache.c inode = btrfs_iget_path(fs_info->sb, &location, root, NULL, path); fs_info 98 fs/btrfs/free-space-cache.c struct btrfs_fs_info *fs_info = block_group->fs_info; fs_info 109 fs/btrfs/free-space-cache.c inode = __lookup_free_space_inode(fs_info->tree_root, path, fs_info 116 fs/btrfs/free-space-cache.c btrfs_info(fs_info, "Old style space inode found, converting."); fs_info 199 fs/btrfs/free-space-cache.c ret = btrfs_find_free_objectid(trans->fs_info->tree_root, &ino); fs_info 203 fs/btrfs/free-space-cache.c return __create_free_space_inode(trans->fs_info->tree_root, trans, path, fs_info 207 fs/btrfs/free-space-cache.c int btrfs_check_trunc_cache_free_space(struct btrfs_fs_info *fs_info, fs_info 214 fs/btrfs/free-space-cache.c needed_bytes = btrfs_calc_insert_metadata_size(fs_info, 1) + fs_info 215 fs/btrfs/free-space-cache.c btrfs_calc_metadata_size(fs_info, 1); fs_info 323 fs/btrfs/free-space-cache.c io_ctl->fs_info = btrfs_sb(inode->i_sb); fs_info 389 fs/btrfs/free-space-cache.c btrfs_err(BTRFS_I(inode)->root->fs_info, fs_info 395 fs/btrfs/free-space-cache.c btrfs_err(BTRFS_I(inode)->root->fs_info, fs_info 453 fs/btrfs/free-space-cache.c btrfs_err_rl(io_ctl->fs_info, fs_info 507 fs/btrfs/free-space-cache.c btrfs_err_rl(io_ctl->fs_info, fs_info 670 fs/btrfs/free-space-cache.c struct btrfs_fs_info *fs_info = root->fs_info; fs_info 710 fs/btrfs/free-space-cache.c btrfs_info(fs_info, fs_info 717 fs/btrfs/free-space-cache.c btrfs_err(fs_info, fs_info 766 fs/btrfs/free-space-cache.c btrfs_err(fs_info, fs_info 787 fs/btrfs/free-space-cache.c btrfs_err(fs_info, fs_info 825 fs/btrfs/free-space-cache.c struct btrfs_fs_info *fs_info = block_group->fs_info; fs_info 884 fs/btrfs/free-space-cache.c ret = __load_free_space_cache(fs_info->tree_root, inode, ctl, fs_info 897 fs/btrfs/free-space-cache.c btrfs_warn(fs_info, fs_info 910 fs/btrfs/free-space-cache.c btrfs_warn(fs_info, fs_info 1068 fs/btrfs/free-space-cache.c unpin = block_group->fs_info->pinned_extents; fs_info 1175 fs/btrfs/free-space-cache.c btrfs_err(root->fs_info, fs_info 1222 fs/btrfs/free-space-cache.c return __btrfs_wait_cache_io(block_group->fs_info->tree_root, trans, fs_info 1381 fs/btrfs/free-space-cache.c struct btrfs_fs_info *fs_info = trans->fs_info; fs_info 1397 fs/btrfs/free-space-cache.c ret = __btrfs_write_out_cache(fs_info->tree_root, inode, ctl, fs_info 1401 fs/btrfs/free-space-cache.c btrfs_err(fs_info, fs_info 2001 fs/btrfs/free-space-cache.c struct btrfs_fs_info *fs_info = block_group->fs_info; fs_info 2021 fs/btrfs/free-space-cache.c if (info->bytes <= fs_info->sectorsize * 4) { fs_info 2334 fs/btrfs/free-space-cache.c int __btrfs_add_free_space(struct btrfs_fs_info *fs_info, fs_info 2382 fs/btrfs/free-space-cache.c btrfs_crit(fs_info, "unable to add free space :%d", ret); fs_info 2392 fs/btrfs/free-space-cache.c return __btrfs_add_free_space(block_group->fs_info, fs_info 2490 fs/btrfs/free-space-cache.c struct btrfs_fs_info *fs_info = block_group->fs_info; fs_info 2501 fs/btrfs/free-space-cache.c btrfs_crit(fs_info, "entry offset %llu, bytes %llu, bitmap %s", fs_info 2506 fs/btrfs/free-space-cache.c btrfs_info(fs_info, "block group has cluster?: %s", fs_info 2508 fs/btrfs/free-space-cache.c btrfs_info(fs_info, fs_info 2514 fs/btrfs/free-space-cache.c struct btrfs_fs_info *fs_info = block_group->fs_info; fs_info 2518 fs/btrfs/free-space-cache.c ctl->unit = fs_info->sectorsize; fs_info 2669 fs/btrfs/free-space-cache.c __btrfs_add_free_space(block_group->fs_info, ctl, fs_info 3063 fs/btrfs/free-space-cache.c struct btrfs_fs_info *fs_info = block_group->fs_info; fs_info 3077 fs/btrfs/free-space-cache.c if (btrfs_test_opt(fs_info, SSD_SPREAD)) { fs_info 3081 fs/btrfs/free-space-cache.c min_bytes = fs_info->sectorsize; fs_info 3084 fs/btrfs/free-space-cache.c min_bytes = fs_info->sectorsize; fs_info 3156 fs/btrfs/free-space-cache.c struct btrfs_fs_info *fs_info = block_group->fs_info; fs_info 3172 fs/btrfs/free-space-cache.c ret = btrfs_discard_extent(fs_info, start, bytes, &trimmed); fs_info 3368 fs/btrfs/free-space-cache.c struct btrfs_fs_info *fs_info = block_group->fs_info; fs_info 3379 fs/btrfs/free-space-cache.c mutex_lock(&fs_info->chunk_mutex); fs_info 3380 fs/btrfs/free-space-cache.c em_tree = &fs_info->mapping_tree; fs_info 3387 fs/btrfs/free-space-cache.c mutex_unlock(&fs_info->chunk_mutex); fs_info 3494 fs/btrfs/free-space-cache.c if (!btrfs_fs_closing(root->fs_info)) fs_info 3509 fs/btrfs/free-space-cache.c int load_free_ino_cache(struct btrfs_fs_info *fs_info, struct btrfs_root *root) fs_info 3517 fs/btrfs/free-space-cache.c if (!btrfs_test_opt(fs_info, INODE_MAP_CACHE)) fs_info 3524 fs/btrfs/free-space-cache.c if (btrfs_fs_closing(fs_info)) fs_info 3541 fs/btrfs/free-space-cache.c btrfs_err(fs_info, fs_info 3556 fs/btrfs/free-space-cache.c struct btrfs_fs_info *fs_info = root->fs_info; fs_info 3562 fs/btrfs/free-space-cache.c if (!btrfs_test_opt(fs_info, INODE_MAP_CACHE)) fs_info 3583 fs/btrfs/free-space-cache.c btrfs_err(fs_info, fs_info 43 fs/btrfs/free-space-cache.h struct btrfs_fs_info *fs_info; fs_info 60 fs/btrfs/free-space-cache.h int btrfs_check_trunc_cache_free_space(struct btrfs_fs_info *fs_info, fs_info 77 fs/btrfs/free-space-cache.h int load_free_ino_cache(struct btrfs_fs_info *fs_info, fs_info 85 fs/btrfs/free-space-cache.h int __btrfs_add_free_space(struct btrfs_fs_info *fs_info, fs_info 29 fs/btrfs/free-space-tree.c bitmap_range = cache->fs_info->sectorsize * BTRFS_FREE_SPACE_BITMAP_BITS; fs_info 51 fs/btrfs/free-space-tree.c struct btrfs_root *root = trans->fs_info->free_space_root; fs_info 84 fs/btrfs/free-space-tree.c struct btrfs_fs_info *fs_info = block_group->fs_info; fs_info 85 fs/btrfs/free-space-tree.c struct btrfs_root *root = fs_info->free_space_root; fs_info 97 fs/btrfs/free-space-tree.c btrfs_warn(fs_info, "missing free space info for %llu", fs_info 186 fs/btrfs/free-space-tree.c struct btrfs_fs_info *fs_info = trans->fs_info; fs_info 187 fs/btrfs/free-space-tree.c struct btrfs_root *root = fs_info->free_space_root; fs_info 201 fs/btrfs/free-space-tree.c fs_info->sectorsize); fs_info 239 fs/btrfs/free-space-tree.c fs_info->sectorsize); fs_info 241 fs/btrfs/free-space-tree.c fs_info->sectorsize); fs_info 272 fs/btrfs/free-space-tree.c btrfs_err(fs_info, fs_info 282 fs/btrfs/free-space-tree.c bitmap_range = fs_info->sectorsize * BTRFS_FREE_SPACE_BITMAP_BITS; fs_info 291 fs/btrfs/free-space-tree.c fs_info->sectorsize); fs_info 326 fs/btrfs/free-space-tree.c struct btrfs_fs_info *fs_info = trans->fs_info; fs_info 327 fs/btrfs/free-space-tree.c struct btrfs_root *root = fs_info->free_space_root; fs_info 340 fs/btrfs/free-space-tree.c fs_info->sectorsize); fs_info 380 fs/btrfs/free-space-tree.c fs_info->sectorsize * fs_info 384 fs/btrfs/free-space-tree.c fs_info->sectorsize); fs_info 416 fs/btrfs/free-space-tree.c nrbits = div_u64(block_group->key.offset, block_group->fs_info->sectorsize); fs_info 423 fs/btrfs/free-space-tree.c key.objectid = start + start_bit * block_group->fs_info->sectorsize; fs_info 425 fs/btrfs/free-space-tree.c key.offset = (end_bit - start_bit) * block_group->fs_info->sectorsize; fs_info 438 fs/btrfs/free-space-tree.c btrfs_err(fs_info, fs_info 512 fs/btrfs/free-space-tree.c block_group->fs_info->sectorsize); fs_info 520 fs/btrfs/free-space-tree.c struct btrfs_fs_info *fs_info = block_group->fs_info; fs_info 540 fs/btrfs/free-space-tree.c first = div_u64(*start - found_start, fs_info->sectorsize); fs_info 541 fs/btrfs/free-space-tree.c last = div_u64(end - found_start, fs_info->sectorsize); fs_info 588 fs/btrfs/free-space-tree.c struct btrfs_root *root = block_group->fs_info->free_space_root; fs_info 601 fs/btrfs/free-space-tree.c u64 prev_block = start - block_group->fs_info->sectorsize; fs_info 701 fs/btrfs/free-space-tree.c struct btrfs_root *root = trans->fs_info->free_space_root; fs_info 819 fs/btrfs/free-space-tree.c if (!btrfs_fs_compat_ro(trans->fs_info, FREE_SPACE_TREE)) fs_info 828 fs/btrfs/free-space-tree.c block_group = btrfs_lookup_block_group(trans->fs_info, start); fs_info 853 fs/btrfs/free-space-tree.c struct btrfs_root *root = trans->fs_info->free_space_root; fs_info 1012 fs/btrfs/free-space-tree.c if (!btrfs_fs_compat_ro(trans->fs_info, FREE_SPACE_TREE)) fs_info 1021 fs/btrfs/free-space-tree.c block_group = btrfs_lookup_block_group(trans->fs_info, start); fs_info 1048 fs/btrfs/free-space-tree.c struct btrfs_root *extent_root = trans->fs_info->extent_root; fs_info 1108 fs/btrfs/free-space-tree.c start += trans->fs_info->nodesize; fs_info 1138 fs/btrfs/free-space-tree.c int btrfs_create_free_space_tree(struct btrfs_fs_info *fs_info) fs_info 1141 fs/btrfs/free-space-tree.c struct btrfs_root *tree_root = fs_info->tree_root; fs_info 1151 fs/btrfs/free-space-tree.c set_bit(BTRFS_FS_CREATING_FREE_SPACE_TREE, &fs_info->flags); fs_info 1158 fs/btrfs/free-space-tree.c fs_info->free_space_root = free_space_root; fs_info 1160 fs/btrfs/free-space-tree.c node = rb_first(&fs_info->block_group_cache_tree); fs_info 1170 fs/btrfs/free-space-tree.c btrfs_set_fs_compat_ro(fs_info, FREE_SPACE_TREE); fs_info 1171 fs/btrfs/free-space-tree.c btrfs_set_fs_compat_ro(fs_info, FREE_SPACE_TREE_VALID); fs_info 1172 fs/btrfs/free-space-tree.c clear_bit(BTRFS_FS_CREATING_FREE_SPACE_TREE, &fs_info->flags); fs_info 1177 fs/btrfs/free-space-tree.c clear_bit(BTRFS_FS_CREATING_FREE_SPACE_TREE, &fs_info->flags); fs_info 1224 fs/btrfs/free-space-tree.c int btrfs_clear_free_space_tree(struct btrfs_fs_info *fs_info) fs_info 1227 fs/btrfs/free-space-tree.c struct btrfs_root *tree_root = fs_info->tree_root; fs_info 1228 fs/btrfs/free-space-tree.c struct btrfs_root *free_space_root = fs_info->free_space_root; fs_info 1235 fs/btrfs/free-space-tree.c btrfs_clear_fs_compat_ro(fs_info, FREE_SPACE_TREE); fs_info 1236 fs/btrfs/free-space-tree.c btrfs_clear_fs_compat_ro(fs_info, FREE_SPACE_TREE_VALID); fs_info 1237 fs/btrfs/free-space-tree.c fs_info->free_space_root = NULL; fs_info 1287 fs/btrfs/free-space-tree.c struct btrfs_fs_info *fs_info = trans->fs_info; fs_info 1291 fs/btrfs/free-space-tree.c if (!btrfs_fs_compat_ro(fs_info, FREE_SPACE_TREE)) fs_info 1317 fs/btrfs/free-space-tree.c struct btrfs_root *root = trans->fs_info->free_space_root; fs_info 1325 fs/btrfs/free-space-tree.c if (!btrfs_fs_compat_ro(trans->fs_info, FREE_SPACE_TREE)) fs_info 1395 fs/btrfs/free-space-tree.c struct btrfs_fs_info *fs_info; fs_info 1407 fs/btrfs/free-space-tree.c fs_info = block_group->fs_info; fs_info 1408 fs/btrfs/free-space-tree.c root = fs_info->free_space_root; fs_info 1445 fs/btrfs/free-space-tree.c offset += fs_info->sectorsize; fs_info 1455 fs/btrfs/free-space-tree.c btrfs_err(fs_info, fs_info 1476 fs/btrfs/free-space-tree.c struct btrfs_fs_info *fs_info; fs_info 1485 fs/btrfs/free-space-tree.c fs_info = block_group->fs_info; fs_info 1486 fs/btrfs/free-space-tree.c root = fs_info->free_space_root; fs_info 1517 fs/btrfs/free-space-tree.c btrfs_err(fs_info, fs_info 20 fs/btrfs/free-space-tree.h int btrfs_create_free_space_tree(struct btrfs_fs_info *fs_info); fs_info 21 fs/btrfs/free-space-tree.h int btrfs_clear_free_space_tree(struct btrfs_fs_info *fs_info); fs_info 138 fs/btrfs/inode-item.c btrfs_handle_fs_error(root->fs_info, -ENOENT, NULL); fs_info 314 fs/btrfs/inode-item.c struct btrfs_fs_info *fs_info = root->fs_info; fs_info 374 fs/btrfs/inode-item.c struct btrfs_super_block *disk_super = fs_info->super_copy; fs_info 18 fs/btrfs/inode-map.c struct btrfs_fs_info *fs_info = root->fs_info; fs_info 20 fs/btrfs/inode-map.c btrfs_warn(fs_info, "failed to start inode caching task"); fs_info 21 fs/btrfs/inode-map.c btrfs_clear_pending_and_info(fs_info, INODE_MAP_CACHE, fs_info 32 fs/btrfs/inode-map.c struct btrfs_fs_info *fs_info = root->fs_info; fs_info 41 fs/btrfs/inode-map.c if (!btrfs_test_opt(fs_info, INODE_MAP_CACHE)) fs_info 60 fs/btrfs/inode-map.c down_read(&fs_info->commit_root_sem); fs_info 67 fs/btrfs/inode-map.c if (btrfs_fs_closing(fs_info)) fs_info 80 fs/btrfs/inode-map.c btrfs_transaction_in_commit(fs_info)) { fs_info 93 fs/btrfs/inode-map.c up_read(&fs_info->commit_root_sem); fs_info 109 fs/btrfs/inode-map.c __btrfs_add_free_space(fs_info, ctl, last + 1, fs_info 120 fs/btrfs/inode-map.c __btrfs_add_free_space(fs_info, ctl, last + 1, fs_info 132 fs/btrfs/inode-map.c up_read(&fs_info->commit_root_sem); fs_info 141 fs/btrfs/inode-map.c struct btrfs_fs_info *fs_info = root->fs_info; fs_info 147 fs/btrfs/inode-map.c if (!btrfs_test_opt(fs_info, INODE_MAP_CACHE)) fs_info 159 fs/btrfs/inode-map.c ret = load_free_ino_cache(fs_info, root); fs_info 177 fs/btrfs/inode-map.c __btrfs_add_free_space(fs_info, ctl, objectid, fs_info 190 fs/btrfs/inode-map.c if (!btrfs_test_opt(root->fs_info, INODE_MAP_CACHE)) fs_info 217 fs/btrfs/inode-map.c struct btrfs_fs_info *fs_info = root->fs_info; fs_info 220 fs/btrfs/inode-map.c if (!btrfs_test_opt(fs_info, INODE_MAP_CACHE)) fs_info 224 fs/btrfs/inode-map.c __btrfs_add_free_space(fs_info, pinned, objectid, 1); fs_info 226 fs/btrfs/inode-map.c down_write(&fs_info->commit_root_sem); fs_info 230 fs/btrfs/inode-map.c up_write(&fs_info->commit_root_sem); fs_info 237 fs/btrfs/inode-map.c __btrfs_add_free_space(fs_info, pinned, objectid, 1); fs_info 239 fs/btrfs/inode-map.c up_write(&fs_info->commit_root_sem); fs_info 260 fs/btrfs/inode-map.c if (!btrfs_test_opt(root->fs_info, INODE_MAP_CACHE)) fs_info 283 fs/btrfs/inode-map.c __btrfs_add_free_space(root->fs_info, ctl, fs_info 399 fs/btrfs/inode-map.c struct btrfs_fs_info *fs_info = root->fs_info; fs_info 421 fs/btrfs/inode-map.c if (!btrfs_test_opt(fs_info, INODE_MAP_CACHE)) fs_info 429 fs/btrfs/inode-map.c trans->block_rsv = &fs_info->trans_block_rsv; fs_info 439 fs/btrfs/inode-map.c trans->bytes_reserved = btrfs_calc_insert_metadata_size(fs_info, 10); fs_info 445 fs/btrfs/inode-map.c trace_btrfs_space_reservation(fs_info, "ino_cache", trans->transid, fs_info 514 fs/btrfs/inode-map.c trace_btrfs_space_reservation(fs_info, "ino_cache", trans->transid, fs_info 516 fs/btrfs/inode-map.c btrfs_block_rsv_release(fs_info, trans->block_rsv, fs_info 568 fs/btrfs/inode-map.c btrfs_warn(root->fs_info, fs_info 274 fs/btrfs/inode.c struct btrfs_fs_info *fs_info = root->fs_info; fs_info 279 fs/btrfs/inode.c u64 aligned_end = ALIGN(end, fs_info->sectorsize); fs_info 290 fs/btrfs/inode.c actual_end > fs_info->sectorsize || fs_info 291 fs/btrfs/inode.c data_len > BTRFS_MAX_INLINE_DATA_SIZE(fs_info) || fs_info 293 fs/btrfs/inode.c (actual_end & (fs_info->sectorsize - 1)) == 0) || fs_info 295 fs/btrfs/inode.c data_len > fs_info->max_inline) { fs_info 419 fs/btrfs/inode.c struct btrfs_fs_info *fs_info = btrfs_sb(inode->i_sb); fs_info 428 fs/btrfs/inode.c if (btrfs_test_opt(fs_info, FORCE_COMPRESS)) fs_info 436 fs/btrfs/inode.c if (btrfs_test_opt(fs_info, COMPRESS) || fs_info 472 fs/btrfs/inode.c struct btrfs_fs_info *fs_info = btrfs_sb(inode->i_sb); fs_info 473 fs/btrfs/inode.c u64 blocksize = fs_info->sectorsize; fs_info 485 fs/btrfs/inode.c int compress_type = fs_info->compress_type; fs_info 578 fs/btrfs/inode.c compress_type | (fs_info->compress_level << 4), fs_info 703 fs/btrfs/inode.c if (!btrfs_test_opt(fs_info, FORCE_COMPRESS) && fs_info 756 fs/btrfs/inode.c struct btrfs_fs_info *fs_info = btrfs_sb(inode->i_sb); fs_info 866 fs/btrfs/inode.c btrfs_dec_block_group_reservations(fs_info, ins.objectid); fs_info 904 fs/btrfs/inode.c btrfs_dec_block_group_reservations(fs_info, ins.objectid); fs_info 905 fs/btrfs/inode.c btrfs_free_reserved_extent(fs_info, ins.objectid, ins.offset, 1); fs_info 971 fs/btrfs/inode.c struct btrfs_fs_info *fs_info = btrfs_sb(inode->i_sb); fs_info 977 fs/btrfs/inode.c u64 blocksize = fs_info->sectorsize; fs_info 993 fs/btrfs/inode.c ASSERT(num_bytes <= btrfs_super_total_bytes(fs_info->super_copy)); fs_info 1030 fs/btrfs/inode.c fs_info->sectorsize, 0, alloc_hint, fs_info 1077 fs/btrfs/inode.c btrfs_dec_block_group_reservations(fs_info, ins.objectid); fs_info 1116 fs/btrfs/inode.c btrfs_dec_block_group_reservations(fs_info, ins.objectid); fs_info 1117 fs/btrfs/inode.c btrfs_free_reserved_extent(fs_info, ins.objectid, ins.offset, 1); fs_info 1173 fs/btrfs/inode.c struct btrfs_fs_info *fs_info = btrfs_work_owner(work); fs_info 1180 fs/btrfs/inode.c if (atomic_sub_return(nr_pages, &fs_info->async_delalloc_pages) < fs_info 1182 fs/btrfs/inode.c cond_wake_up_nomb(&fs_info->async_submit_wait); fs_info 1214 fs/btrfs/inode.c struct btrfs_fs_info *fs_info = btrfs_sb(inode->i_sb); fs_info 1227 fs/btrfs/inode.c !btrfs_test_opt(fs_info, FORCE_COMPRESS)) { fs_info 1292 fs/btrfs/inode.c atomic_add(nr_pages, &fs_info->async_delalloc_pages); fs_info 1294 fs/btrfs/inode.c btrfs_queue_work(fs_info->delalloc_workers, &async_chunk[i].work); fs_info 1303 fs/btrfs/inode.c static noinline int csum_exist_in_range(struct btrfs_fs_info *fs_info, fs_info 1310 fs/btrfs/inode.c ret = btrfs_lookup_csums_range(fs_info->csum_root, bytenr, fs_info 1338 fs/btrfs/inode.c struct btrfs_fs_info *fs_info = btrfs_sb(inode->i_sb); fs_info 1486 fs/btrfs/inode.c if (btrfs_extent_readonly(fs_info, disk_bytenr)) fs_info 1519 fs/btrfs/inode.c ret = csum_exist_in_range(fs_info, disk_bytenr, fs_info 1534 fs/btrfs/inode.c if (!btrfs_inc_nocow_writers(fs_info, disk_bytenr)) fs_info 1539 fs/btrfs/inode.c extent_end = ALIGN(extent_end, fs_info->sectorsize); fs_info 1577 fs/btrfs/inode.c btrfs_dec_nocow_writers(fs_info, fs_info 1597 fs/btrfs/inode.c btrfs_dec_nocow_writers(fs_info, fs_info 1624 fs/btrfs/inode.c btrfs_dec_nocow_writers(fs_info, disk_bytenr); fs_info 1671 fs/btrfs/inode.c btrfs_dec_nocow_writers(fs_info, disk_bytenr); fs_info 1832 fs/btrfs/inode.c struct btrfs_fs_info *fs_info = btrfs_sb(inode->i_sb); fs_info 1842 fs/btrfs/inode.c spin_lock(&fs_info->delalloc_root_lock); fs_info 1845 fs/btrfs/inode.c &fs_info->delalloc_roots); fs_info 1846 fs/btrfs/inode.c spin_unlock(&fs_info->delalloc_root_lock); fs_info 1856 fs/btrfs/inode.c struct btrfs_fs_info *fs_info = root->fs_info; fs_info 1865 fs/btrfs/inode.c spin_lock(&fs_info->delalloc_root_lock); fs_info 1868 fs/btrfs/inode.c spin_unlock(&fs_info->delalloc_root_lock); fs_info 1888 fs/btrfs/inode.c struct btrfs_fs_info *fs_info = btrfs_sb(inode->i_sb); fs_info 1908 fs/btrfs/inode.c if (btrfs_is_testing(fs_info)) fs_info 1911 fs/btrfs/inode.c percpu_counter_add_batch(&fs_info->delalloc_bytes, len, fs_info 1912 fs/btrfs/inode.c fs_info->delalloc_batch); fs_info 1940 fs/btrfs/inode.c struct btrfs_fs_info *fs_info = btrfs_sb(vfs_inode->i_sb); fs_info 1969 fs/btrfs/inode.c root != fs_info->tree_root) fs_info 1973 fs/btrfs/inode.c if (btrfs_is_testing(fs_info)) fs_info 1983 fs/btrfs/inode.c percpu_counter_add_batch(&fs_info->delalloc_bytes, -len, fs_info 1984 fs/btrfs/inode.c fs_info->delalloc_batch); fs_info 2021 fs/btrfs/inode.c struct btrfs_fs_info *fs_info = btrfs_sb(inode->i_sb); fs_info 2033 fs/btrfs/inode.c ret = btrfs_get_io_geometry(fs_info, btrfs_op(bio), logical, map_length, fs_info 2085 fs/btrfs/inode.c struct btrfs_fs_info *fs_info = btrfs_sb(inode->i_sb); fs_info 2098 fs/btrfs/inode.c ret = btrfs_bio_wq_end_io(fs_info, bio, metadata); fs_info 2118 fs/btrfs/inode.c ret = btrfs_wq_submit_bio(fs_info, bio, mirror_num, bio_flags, fs_info 2128 fs/btrfs/inode.c ret = btrfs_map_bio(fs_info, bio, mirror_num, 0); fs_info 2151 fs/btrfs/inode.c BTRFS_I(inode)->root->fs_info->csum_root, sum); fs_info 2321 fs/btrfs/inode.c struct btrfs_fs_info *fs_info = btrfs_sb(inode->i_sb); fs_info 2354 fs/btrfs/inode.c btrfs_queue_work(fs_info->fixup_workers, &fixup->work); fs_info 2551 fs/btrfs/inode.c struct btrfs_fs_info *fs_info = btrfs_sb(inode->i_sb); fs_info 2565 fs/btrfs/inode.c root = btrfs_read_fs_root_no_name(fs_info, &key); fs_info 2570 fs/btrfs/inode.c btrfs_debug(fs_info, "inum=%llu, offset=%llu, root_id=%llu", fs_info 2662 fs/btrfs/inode.c struct btrfs_fs_info *fs_info = btrfs_sb(new->inode->i_sb); fs_info 2670 fs/btrfs/inode.c old->extent_offset, fs_info, fs_info 2726 fs/btrfs/inode.c struct btrfs_fs_info *fs_info = btrfs_sb(new->inode->i_sb); fs_info 2747 fs/btrfs/inode.c index = srcu_read_lock(&fs_info->subvol_srcu); fs_info 2749 fs/btrfs/inode.c root = btrfs_read_fs_root_no_name(fs_info, &key); fs_info 2751 fs/btrfs/inode.c srcu_read_unlock(&fs_info->subvol_srcu, index); fs_info 2758 fs/btrfs/inode.c srcu_read_unlock(&fs_info->subvol_srcu, index); fs_info 2767 fs/btrfs/inode.c inode = btrfs_iget(fs_info->sb, &key, root, NULL); fs_info 2769 fs/btrfs/inode.c srcu_read_unlock(&fs_info->subvol_srcu, index); fs_info 2773 fs/btrfs/inode.c srcu_read_unlock(&fs_info->subvol_srcu, index); fs_info 2928 fs/btrfs/inode.c struct btrfs_fs_info *fs_info = btrfs_sb(new->inode->i_sb); fs_info 2970 fs/btrfs/inode.c atomic_dec(&fs_info->defrag_running); fs_info 2971 fs/btrfs/inode.c wake_up(&fs_info->transaction_wait); fs_info 2978 fs/btrfs/inode.c struct btrfs_fs_info *fs_info = btrfs_sb(inode->i_sb); fs_info 3077 fs/btrfs/inode.c atomic_inc(&fs_info->defrag_running); fs_info 3088 fs/btrfs/inode.c static void btrfs_release_delalloc_bytes(struct btrfs_fs_info *fs_info, fs_info 3093 fs/btrfs/inode.c cache = btrfs_lookup_block_group(fs_info, start); fs_info 3110 fs/btrfs/inode.c struct btrfs_fs_info *fs_info = btrfs_sb(inode->i_sb); fs_info 3219 fs/btrfs/inode.c BUG_ON(root == fs_info->tree_root); fs_info 3229 fs/btrfs/inode.c btrfs_release_delalloc_bytes(fs_info, fs_info 3302 fs/btrfs/inode.c btrfs_free_reserved_extent(fs_info, fs_info 3318 fs/btrfs/inode.c atomic_dec(&fs_info->defrag_running); fs_info 3343 fs/btrfs/inode.c struct btrfs_fs_info *fs_info = btrfs_sb(inode->i_sb); fs_info 3355 fs/btrfs/inode.c wq = fs_info->endio_freespace_worker; fs_info 3357 fs/btrfs/inode.c wq = fs_info->endio_write_workers; fs_info 3368 fs/btrfs/inode.c struct btrfs_fs_info *fs_info = btrfs_sb(inode->i_sb); fs_info 3369 fs/btrfs/inode.c SHASH_DESC_ON_STACK(shash, fs_info->csum_shash); fs_info 3371 fs/btrfs/inode.c u16 csum_size = btrfs_super_csum_size(fs_info->super_copy); fs_info 3378 fs/btrfs/inode.c shash->tfm = fs_info->csum_shash; fs_info 3443 fs/btrfs/inode.c struct btrfs_fs_info *fs_info = btrfs_sb(inode->i_sb); fs_info 3449 fs/btrfs/inode.c atomic_inc(&fs_info->nr_delayed_iputs); fs_info 3450 fs/btrfs/inode.c spin_lock(&fs_info->delayed_iput_lock); fs_info 3452 fs/btrfs/inode.c list_add_tail(&binode->delayed_iput, &fs_info->delayed_iputs); fs_info 3453 fs/btrfs/inode.c spin_unlock(&fs_info->delayed_iput_lock); fs_info 3454 fs/btrfs/inode.c if (!test_bit(BTRFS_FS_CLEANER_RUNNING, &fs_info->flags)) fs_info 3455 fs/btrfs/inode.c wake_up_process(fs_info->cleaner_kthread); fs_info 3458 fs/btrfs/inode.c static void run_delayed_iput_locked(struct btrfs_fs_info *fs_info, fs_info 3462 fs/btrfs/inode.c spin_unlock(&fs_info->delayed_iput_lock); fs_info 3464 fs/btrfs/inode.c if (atomic_dec_and_test(&fs_info->nr_delayed_iputs)) fs_info 3465 fs/btrfs/inode.c wake_up(&fs_info->delayed_iputs_wait); fs_info 3466 fs/btrfs/inode.c spin_lock(&fs_info->delayed_iput_lock); fs_info 3469 fs/btrfs/inode.c static void btrfs_run_delayed_iput(struct btrfs_fs_info *fs_info, fs_info 3473 fs/btrfs/inode.c spin_lock(&fs_info->delayed_iput_lock); fs_info 3475 fs/btrfs/inode.c run_delayed_iput_locked(fs_info, inode); fs_info 3476 fs/btrfs/inode.c spin_unlock(&fs_info->delayed_iput_lock); fs_info 3480 fs/btrfs/inode.c void btrfs_run_delayed_iputs(struct btrfs_fs_info *fs_info) fs_info 3483 fs/btrfs/inode.c spin_lock(&fs_info->delayed_iput_lock); fs_info 3484 fs/btrfs/inode.c while (!list_empty(&fs_info->delayed_iputs)) { fs_info 3487 fs/btrfs/inode.c inode = list_first_entry(&fs_info->delayed_iputs, fs_info 3489 fs/btrfs/inode.c run_delayed_iput_locked(fs_info, inode); fs_info 3491 fs/btrfs/inode.c spin_unlock(&fs_info->delayed_iput_lock); fs_info 3504 fs/btrfs/inode.c int btrfs_wait_on_delayed_iputs(struct btrfs_fs_info *fs_info) fs_info 3506 fs/btrfs/inode.c int ret = wait_event_killable(fs_info->delayed_iputs_wait, fs_info 3507 fs/btrfs/inode.c atomic_read(&fs_info->nr_delayed_iputs) == 0); fs_info 3547 fs/btrfs/inode.c struct btrfs_fs_info *fs_info = root->fs_info; fs_info 3607 fs/btrfs/inode.c btrfs_err(fs_info, fs_info 3618 fs/btrfs/inode.c inode = btrfs_iget(fs_info->sb, &found_key, root, NULL); fs_info 3623 fs/btrfs/inode.c if (ret == -ENOENT && root == fs_info->tree_root) { fs_info 3625 fs/btrfs/inode.c struct btrfs_fs_info *fs_info = root->fs_info; fs_info 3639 fs/btrfs/inode.c spin_lock(&fs_info->trans_lock); fs_info 3640 fs/btrfs/inode.c list_for_each_entry(dead_root, &fs_info->dead_roots, fs_info 3648 fs/btrfs/inode.c spin_unlock(&fs_info->trans_lock); fs_info 3684 fs/btrfs/inode.c btrfs_debug(fs_info, "auto deleting %Lu", fs_info 3711 fs/btrfs/inode.c btrfs_debug(fs_info, "unlinked %d orphans", nr_unlink); fs_info 3715 fs/btrfs/inode.c btrfs_err(fs_info, "could not do orphan cleanup %d", ret); fs_info 3795 fs/btrfs/inode.c struct btrfs_fs_info *fs_info = btrfs_sb(inode->i_sb); fs_info 3877 fs/btrfs/inode.c if (BTRFS_I(inode)->last_trans == fs_info->generation) fs_info 3943 fs/btrfs/inode.c btrfs_err(fs_info, fs_info 4074 fs/btrfs/inode.c struct btrfs_fs_info *fs_info = root->fs_info; fs_info 4086 fs/btrfs/inode.c && !test_bit(BTRFS_FS_LOG_RECOVERING, &fs_info->flags)) { fs_info 4121 fs/btrfs/inode.c struct btrfs_fs_info *fs_info = root->fs_info; fs_info 4168 fs/btrfs/inode.c btrfs_info(fs_info, fs_info 4204 fs/btrfs/inode.c btrfs_run_delayed_iput(fs_info, inode); fs_info 4284 fs/btrfs/inode.c btrfs_btree_balance_dirty(root->fs_info); fs_info 4392 fs/btrfs/inode.c struct btrfs_fs_info *fs_info = root->fs_info; fs_info 4404 fs/btrfs/inode.c dir_id = btrfs_super_root_dir(fs_info->super_copy); fs_info 4405 fs/btrfs/inode.c di = btrfs_lookup_dir_item(NULL, fs_info->tree_root, path, fs_info 4411 fs/btrfs/inode.c btrfs_err(fs_info, fs_info 4423 fs/btrfs/inode.c ret = btrfs_search_slot(NULL, fs_info->tree_root, &key, path, 0, 0); fs_info 4444 fs/btrfs/inode.c struct btrfs_fs_info *fs_info = root->fs_info; fs_info 4451 fs/btrfs/inode.c if (!test_bit(BTRFS_FS_STATE_ERROR, &fs_info->fs_state)) fs_info 4507 fs/btrfs/inode.c struct btrfs_fs_info *fs_info = btrfs_sb(dentry->d_sb); fs_info 4525 fs/btrfs/inode.c btrfs_warn(fs_info, fs_info 4535 fs/btrfs/inode.c down_write(&fs_info->subvol_sem); fs_info 4577 fs/btrfs/inode.c fs_info->tree_root, fs_info 4614 fs/btrfs/inode.c btrfs_subvolume_release_metadata(fs_info, &block_rsv); fs_info 4616 fs/btrfs/inode.c up_write(&fs_info->subvol_sem); fs_info 4688 fs/btrfs/inode.c btrfs_btree_balance_dirty(root->fs_info); fs_info 4715 fs/btrfs/inode.c struct btrfs_fs_info *fs_info = root->fs_info; fs_info 4737 fs/btrfs/inode.c const u64 lock_start = ALIGN_DOWN(new_size, fs_info->sectorsize); fs_info 4765 fs/btrfs/inode.c root == fs_info->tree_root) fs_info 4767 fs/btrfs/inode.c fs_info->sectorsize), fs_info 4866 fs/btrfs/inode.c fs_info->sectorsize); fs_info 4943 fs/btrfs/inode.c root == fs_info->tree_root)) { fs_info 4993 fs/btrfs/inode.c ret = btrfs_delayed_refs_rsv_refill(fs_info, fs_info 5043 fs/btrfs/inode.c struct btrfs_fs_info *fs_info = btrfs_sb(inode->i_sb); fs_info 5050 fs/btrfs/inode.c u32 blocksize = fs_info->sectorsize; fs_info 5154 fs/btrfs/inode.c struct btrfs_fs_info *fs_info = btrfs_sb(inode->i_sb); fs_info 5162 fs/btrfs/inode.c if (btrfs_fs_incompat(fs_info, NO_HOLES)) { fs_info 5163 fs/btrfs/inode.c BTRFS_I(inode)->last_trans = fs_info->generation; fs_info 5203 fs/btrfs/inode.c struct btrfs_fs_info *fs_info = btrfs_sb(inode->i_sb); fs_info 5209 fs/btrfs/inode.c u64 hole_start = ALIGN(oldsize, fs_info->sectorsize); fs_info 5210 fs/btrfs/inode.c u64 block_end = ALIGN(size, fs_info->sectorsize); fs_info 5240 fs/btrfs/inode.c last_byte = ALIGN(last_byte, fs_info->sectorsize); fs_info 5265 fs/btrfs/inode.c hole_em->bdev = fs_info->fs_devices->latest_bdev; fs_info 5267 fs/btrfs/inode.c hole_em->generation = fs_info->generation; fs_info 5509 fs/btrfs/inode.c struct btrfs_fs_info *fs_info = root->fs_info; fs_info 5510 fs/btrfs/inode.c struct btrfs_block_rsv *global_rsv = &fs_info->global_block_rsv; fs_info 5512 fs/btrfs/inode.c u64 delayed_refs_extra = btrfs_calc_insert_metadata_size(fs_info, 1); fs_info 5535 fs/btrfs/inode.c if (btrfs_check_space_for_delayed_refs(fs_info) || fs_info 5537 fs/btrfs/inode.c btrfs_warn(fs_info, fs_info 5549 fs/btrfs/inode.c trans->block_rsv = &fs_info->trans_block_rsv; fs_info 5559 fs/btrfs/inode.c struct btrfs_fs_info *fs_info = btrfs_sb(inode->i_sb); fs_info 5585 fs/btrfs/inode.c if (test_bit(BTRFS_FS_LOG_RECOVERING, &fs_info->flags)) fs_info 5598 fs/btrfs/inode.c rsv = btrfs_alloc_block_rsv(fs_info, BTRFS_BLOCK_RSV_TEMP); fs_info 5601 fs/btrfs/inode.c rsv->size = btrfs_calc_metadata_size(fs_info, 1); fs_info 5614 fs/btrfs/inode.c trans->block_rsv = &fs_info->trans_block_rsv; fs_info 5616 fs/btrfs/inode.c btrfs_btree_balance_dirty(fs_info); fs_info 5636 fs/btrfs/inode.c trans->block_rsv = &fs_info->trans_block_rsv; fs_info 5640 fs/btrfs/inode.c if (!(root == fs_info->tree_root || fs_info 5645 fs/btrfs/inode.c btrfs_free_block_rsv(fs_info, rsv); fs_info 5688 fs/btrfs/inode.c btrfs_warn(root->fs_info, fs_info 5705 fs/btrfs/inode.c static int fixup_tree_root_location(struct btrfs_fs_info *fs_info, fs_info 5730 fs/btrfs/inode.c ret = btrfs_search_slot(NULL, fs_info->tree_root, &key, path, 0, 0); fs_info 5751 fs/btrfs/inode.c new_root = btrfs_read_fs_root_no_name(fs_info, location); fs_info 5950 fs/btrfs/inode.c struct btrfs_fs_info *fs_info = btrfs_sb(dir->i_sb); fs_info 5973 fs/btrfs/inode.c btrfs_crit(fs_info, fs_info 5983 fs/btrfs/inode.c index = srcu_read_lock(&fs_info->subvol_srcu); fs_info 5984 fs/btrfs/inode.c ret = fixup_tree_root_location(fs_info, dir, dentry, fs_info 5994 fs/btrfs/inode.c srcu_read_unlock(&fs_info->subvol_srcu, index); fs_info 5997 fs/btrfs/inode.c down_read(&fs_info->cleanup_work_sem); fs_info 6000 fs/btrfs/inode.c up_read(&fs_info->cleanup_work_sem); fs_info 6236 fs/btrfs/inode.c struct btrfs_fs_info *fs_info = btrfs_sb(inode->i_sb); fs_info 6260 fs/btrfs/inode.c btrfs_balance_delayed_items(fs_info); fs_info 6418 fs/btrfs/inode.c struct btrfs_fs_info *fs_info = root->fs_info; fs_info 6436 fs/btrfs/inode.c inode = new_inode(fs_info->sb); fs_info 6552 fs/btrfs/inode.c if (btrfs_test_opt(fs_info, NODATASUM)) fs_info 6554 fs/btrfs/inode.c if (btrfs_test_opt(fs_info, NODATACOW)) fs_info 6568 fs/btrfs/inode.c btrfs_err(fs_info, fs_info 6638 fs/btrfs/inode.c if (!test_bit(BTRFS_FS_LOG_RECOVERING, &root->fs_info->flags)) { fs_info 6687 fs/btrfs/inode.c struct btrfs_fs_info *fs_info = btrfs_sb(dir->i_sb); fs_info 6740 fs/btrfs/inode.c btrfs_btree_balance_dirty(fs_info); fs_info 6751 fs/btrfs/inode.c struct btrfs_fs_info *fs_info = btrfs_sb(dir->i_sb); fs_info 6812 fs/btrfs/inode.c btrfs_btree_balance_dirty(fs_info); fs_info 6822 fs/btrfs/inode.c struct btrfs_fs_info *fs_info = btrfs_sb(inode->i_sb); fs_info 6896 fs/btrfs/inode.c btrfs_btree_balance_dirty(fs_info); fs_info 6902 fs/btrfs/inode.c struct btrfs_fs_info *fs_info = btrfs_sb(dir->i_sb); fs_info 6959 fs/btrfs/inode.c btrfs_btree_balance_dirty(fs_info); fs_info 7022 fs/btrfs/inode.c struct btrfs_fs_info *fs_info = inode->root->fs_info; fs_info 7042 fs/btrfs/inode.c em->bdev = fs_info->fs_devices->latest_bdev; fs_info 7058 fs/btrfs/inode.c em->bdev = fs_info->fs_devices->latest_bdev; fs_info 7112 fs/btrfs/inode.c btrfs_crit(fs_info, fs_info 7127 fs/btrfs/inode.c fs_info->sectorsize); fs_info 7184 fs/btrfs/inode.c em->len = ALIGN(copy_size, fs_info->sectorsize); fs_info 7224 fs/btrfs/inode.c btrfs_err(fs_info, fs_info 7233 fs/btrfs/inode.c err = btrfs_add_extent_mapping(fs_info, em_tree, &em, start, len); fs_info 7416 fs/btrfs/inode.c struct btrfs_fs_info *fs_info = btrfs_sb(inode->i_sb); fs_info 7424 fs/btrfs/inode.c ret = btrfs_reserve_extent(root, len, len, fs_info->sectorsize, fs_info 7432 fs/btrfs/inode.c btrfs_dec_block_group_reservations(fs_info, ins.objectid); fs_info 7434 fs/btrfs/inode.c btrfs_free_reserved_extent(fs_info, ins.objectid, fs_info 7448 fs/btrfs/inode.c struct btrfs_fs_info *fs_info = btrfs_sb(inode->i_sb); fs_info 7536 fs/btrfs/inode.c if (btrfs_extent_readonly(fs_info, disk_bytenr)) fs_info 7544 fs/btrfs/inode.c root->fs_info->sectorsize) - 1; fs_info 7575 fs/btrfs/inode.c if (csum_exist_in_range(fs_info, disk_bytenr, num_bytes)) fs_info 7695 fs/btrfs/inode.c em->bdev = root->fs_info->fs_devices->latest_bdev; fs_info 7755 fs/btrfs/inode.c struct btrfs_fs_info *fs_info = btrfs_sb(inode->i_sb); fs_info 7783 fs/btrfs/inode.c btrfs_inc_nocow_writers(fs_info, block_start)) { fs_info 7790 fs/btrfs/inode.c btrfs_dec_nocow_writers(fs_info, block_start); fs_info 7850 fs/btrfs/inode.c struct btrfs_fs_info *fs_info = btrfs_sb(inode->i_sb); fs_info 7860 fs/btrfs/inode.c len = min_t(u64, len, fs_info->sectorsize); fs_info 7959 fs/btrfs/inode.c struct btrfs_fs_info *fs_info = btrfs_sb(inode->i_sb); fs_info 7964 fs/btrfs/inode.c ret = btrfs_bio_wq_end_io(fs_info, bio, BTRFS_WQ_ENDIO_DIO_REPAIR); fs_info 7968 fs/btrfs/inode.c ret = btrfs_map_bio(fs_info, bio, mirror_num, 0); fs_info 7978 fs/btrfs/inode.c struct btrfs_fs_info *fs_info = btrfs_sb(inode->i_sb); fs_info 7981 fs/btrfs/inode.c num_copies = btrfs_num_copies(fs_info, failrec->logical, failrec->len); fs_info 7988 fs/btrfs/inode.c btrfs_debug(fs_info, fs_info 8000 fs/btrfs/inode.c btrfs_debug(fs_info, fs_info 8050 fs/btrfs/inode.c btrfs_debug(BTRFS_I(inode)->root->fs_info, fs_info 8089 fs/btrfs/inode.c clean_io_failure(BTRFS_I(inode)->root->fs_info, failure_tree, fs_info 8100 fs/btrfs/inode.c struct btrfs_fs_info *fs_info; fs_info 8111 fs/btrfs/inode.c fs_info = BTRFS_I(inode)->root->fs_info; fs_info 8112 fs/btrfs/inode.c sectorsize = fs_info->sectorsize; fs_info 8119 fs/btrfs/inode.c nr_sectors = BTRFS_BYTES_TO_BLKS(fs_info, bvec.bv_len); fs_info 8186 fs/btrfs/inode.c clean_io_failure(BTRFS_I(inode)->root->fs_info, fs_info 8205 fs/btrfs/inode.c struct btrfs_fs_info *fs_info; fs_info 8219 fs/btrfs/inode.c fs_info = BTRFS_I(inode)->root->fs_info; fs_info 8220 fs/btrfs/inode.c sectorsize = fs_info->sectorsize; fs_info 8228 fs/btrfs/inode.c nr_sectors = BTRFS_BYTES_TO_BLKS(fs_info, bvec.bv_len); fs_info 8233 fs/btrfs/inode.c csum_pos = BTRFS_BYTES_TO_BLKS(fs_info, offset); fs_info 8318 fs/btrfs/inode.c struct btrfs_fs_info *fs_info = btrfs_sb(inode->i_sb); fs_info 8326 fs/btrfs/inode.c wq = fs_info->endio_freespace_worker; fs_info 8328 fs/btrfs/inode.c wq = fs_info->endio_write_workers; fs_info 8388 fs/btrfs/inode.c btrfs_warn(BTRFS_I(dip->inode)->root->fs_info, fs_info 8458 fs/btrfs/inode.c struct btrfs_fs_info *fs_info = btrfs_sb(inode->i_sb); fs_info 8468 fs/btrfs/inode.c ret = btrfs_bio_wq_end_io(fs_info, bio, BTRFS_WQ_ENDIO_DATA); fs_info 8477 fs/btrfs/inode.c ret = btrfs_wq_submit_bio(fs_info, bio, 0, 0, fs_info 8496 fs/btrfs/inode.c ret = btrfs_map_bio(fs_info, bio, 0, 0); fs_info 8504 fs/btrfs/inode.c struct btrfs_fs_info *fs_info = btrfs_sb(inode->i_sb); fs_info 8518 fs/btrfs/inode.c ret = btrfs_get_io_geometry(fs_info, btrfs_op(orig_bio), fs_info 8530 fs/btrfs/inode.c if (btrfs_data_alloc_profile(fs_info) & BTRFS_BLOCK_GROUP_RAID56_MASK) fs_info 8576 fs/btrfs/inode.c ret = btrfs_get_io_geometry(fs_info, btrfs_op(orig_bio), fs_info 8701 fs/btrfs/inode.c static ssize_t check_direct_IO(struct btrfs_fs_info *fs_info, fs_info 8706 fs/btrfs/inode.c unsigned int blocksize_mask = fs_info->sectorsize - 1; fs_info 8738 fs/btrfs/inode.c struct btrfs_fs_info *fs_info = btrfs_sb(inode->i_sb); fs_info 8748 fs/btrfs/inode.c if (check_direct_IO(fs_info, iter, offset)) fs_info 8790 fs/btrfs/inode.c fs_info->sectorsize); fs_info 8803 fs/btrfs/inode.c fs_info->fs_devices->latest_bdev, fs_info 9050 fs/btrfs/inode.c struct btrfs_fs_info *fs_info = btrfs_sb(inode->i_sb); fs_info 9126 fs/btrfs/inode.c fs_info->sectorsize); fs_info 9172 fs/btrfs/inode.c BTRFS_I(inode)->last_trans = fs_info->generation; fs_info 9199 fs/btrfs/inode.c struct btrfs_fs_info *fs_info = btrfs_sb(inode->i_sb); fs_info 9204 fs/btrfs/inode.c u64 mask = fs_info->sectorsize - 1; fs_info 9205 fs/btrfs/inode.c u64 min_size = btrfs_calc_metadata_size(fs_info, 1); fs_info 9242 fs/btrfs/inode.c rsv = btrfs_alloc_block_rsv(fs_info, BTRFS_BLOCK_RSV_TEMP); fs_info 9259 fs/btrfs/inode.c ret = btrfs_block_rsv_migrate(&fs_info->trans_block_rsv, rsv, fs_info 9277 fs/btrfs/inode.c trans->block_rsv = &fs_info->trans_block_rsv; fs_info 9286 fs/btrfs/inode.c btrfs_btree_balance_dirty(fs_info); fs_info 9295 fs/btrfs/inode.c btrfs_block_rsv_release(fs_info, rsv, -1); fs_info 9296 fs/btrfs/inode.c ret = btrfs_block_rsv_migrate(&fs_info->trans_block_rsv, fs_info 9310 fs/btrfs/inode.c btrfs_btree_balance_dirty(fs_info); fs_info 9326 fs/btrfs/inode.c trans->block_rsv = &fs_info->trans_block_rsv; fs_info 9334 fs/btrfs/inode.c btrfs_btree_balance_dirty(fs_info); fs_info 9337 fs/btrfs/inode.c btrfs_free_block_rsv(fs_info, rsv); fs_info 9369 fs/btrfs/inode.c btrfs_err(new_root->fs_info, fs_info 9381 fs/btrfs/inode.c struct btrfs_fs_info *fs_info = btrfs_sb(sb); fs_info 9408 fs/btrfs/inode.c btrfs_init_metadata_block_rsv(fs_info, &ei->block_rsv, fs_info 9421 fs/btrfs/inode.c extent_io_tree_init(fs_info, &ei->io_tree, IO_TREE_INODE_IO, inode); fs_info 9422 fs/btrfs/inode.c extent_io_tree_init(fs_info, &ei->io_failure_tree, fs_info 9453 fs/btrfs/inode.c struct btrfs_fs_info *fs_info = btrfs_sb(inode->i_sb); fs_info 9480 fs/btrfs/inode.c btrfs_err(fs_info, fs_info 9608 fs/btrfs/inode.c struct btrfs_fs_info *fs_info = btrfs_sb(old_dir->i_sb); fs_info 9639 fs/btrfs/inode.c down_read(&fs_info->subvol_sem); fs_info 9817 fs/btrfs/inode.c if (btrfs_inode_in_log(BTRFS_I(old_dir), fs_info->generation) || fs_info 9818 fs/btrfs/inode.c btrfs_inode_in_log(BTRFS_I(new_dir), fs_info->generation) || fs_info 9819 fs/btrfs/inode.c btrfs_inode_in_log(BTRFS_I(old_inode), fs_info->generation) || fs_info 9821 fs/btrfs/inode.c btrfs_inode_in_log(BTRFS_I(new_inode), fs_info->generation))) fs_info 9868 fs/btrfs/inode.c up_read(&fs_info->subvol_sem); fs_info 9931 fs/btrfs/inode.c struct btrfs_fs_info *fs_info = btrfs_sb(old_dir->i_sb); fs_info 9990 fs/btrfs/inode.c down_read(&fs_info->subvol_sem); fs_info 10131 fs/btrfs/inode.c if (btrfs_inode_in_log(BTRFS_I(old_dir), fs_info->generation) || fs_info 10132 fs/btrfs/inode.c btrfs_inode_in_log(BTRFS_I(new_dir), fs_info->generation) || fs_info 10133 fs/btrfs/inode.c btrfs_inode_in_log(BTRFS_I(old_inode), fs_info->generation) || fs_info 10135 fs/btrfs/inode.c btrfs_inode_in_log(BTRFS_I(new_inode), fs_info->generation))) fs_info 10160 fs/btrfs/inode.c up_read(&fs_info->subvol_sem); fs_info 10261 fs/btrfs/inode.c btrfs_queue_work(root->fs_info->flush_workers, fs_info 10289 fs/btrfs/inode.c struct btrfs_fs_info *fs_info = root->fs_info; fs_info 10292 fs/btrfs/inode.c if (test_bit(BTRFS_FS_STATE_ERROR, &fs_info->fs_state)) fs_info 10301 fs/btrfs/inode.c int btrfs_start_delalloc_roots(struct btrfs_fs_info *fs_info, int nr) fs_info 10307 fs/btrfs/inode.c if (test_bit(BTRFS_FS_STATE_ERROR, &fs_info->fs_state)) fs_info 10312 fs/btrfs/inode.c mutex_lock(&fs_info->delalloc_root_mutex); fs_info 10313 fs/btrfs/inode.c spin_lock(&fs_info->delalloc_root_lock); fs_info 10314 fs/btrfs/inode.c list_splice_init(&fs_info->delalloc_roots, &splice); fs_info 10321 fs/btrfs/inode.c &fs_info->delalloc_roots); fs_info 10322 fs/btrfs/inode.c spin_unlock(&fs_info->delalloc_root_lock); fs_info 10333 fs/btrfs/inode.c spin_lock(&fs_info->delalloc_root_lock); fs_info 10335 fs/btrfs/inode.c spin_unlock(&fs_info->delalloc_root_lock); fs_info 10340 fs/btrfs/inode.c spin_lock(&fs_info->delalloc_root_lock); fs_info 10341 fs/btrfs/inode.c list_splice_tail(&splice, &fs_info->delalloc_roots); fs_info 10342 fs/btrfs/inode.c spin_unlock(&fs_info->delalloc_root_lock); fs_info 10344 fs/btrfs/inode.c mutex_unlock(&fs_info->delalloc_root_mutex); fs_info 10351 fs/btrfs/inode.c struct btrfs_fs_info *fs_info = btrfs_sb(dir->i_sb); fs_info 10367 fs/btrfs/inode.c if (name_len > BTRFS_MAX_INLINE_DATA_SIZE(fs_info)) fs_info 10464 fs/btrfs/inode.c btrfs_btree_balance_dirty(fs_info); fs_info 10473 fs/btrfs/inode.c struct btrfs_fs_info *fs_info = btrfs_sb(inode->i_sb); fs_info 10523 fs/btrfs/inode.c btrfs_dec_block_group_reservations(fs_info, ins.objectid); fs_info 10532 fs/btrfs/inode.c btrfs_free_reserved_extent(fs_info, ins.objectid, fs_info 10557 fs/btrfs/inode.c em->bdev = fs_info->fs_devices->latest_bdev; fs_info 10649 fs/btrfs/inode.c struct btrfs_fs_info *fs_info = btrfs_sb(dir->i_sb); fs_info 10708 fs/btrfs/inode.c btrfs_btree_balance_dirty(fs_info); fs_info 10737 fs/btrfs/inode.c struct btrfs_fs_info *fs_info = BTRFS_I(inode)->root->fs_info; fs_info 10749 fs/btrfs/inode.c spin_lock(&fs_info->swapfile_pins_lock); fs_info 10750 fs/btrfs/inode.c p = &fs_info->swapfile_pins.rb_node; fs_info 10761 fs/btrfs/inode.c spin_unlock(&fs_info->swapfile_pins_lock); fs_info 10767 fs/btrfs/inode.c rb_insert_color(&sp->node, &fs_info->swapfile_pins); fs_info 10768 fs/btrfs/inode.c spin_unlock(&fs_info->swapfile_pins_lock); fs_info 10775 fs/btrfs/inode.c struct btrfs_fs_info *fs_info = BTRFS_I(inode)->root->fs_info; fs_info 10779 fs/btrfs/inode.c spin_lock(&fs_info->swapfile_pins_lock); fs_info 10780 fs/btrfs/inode.c node = rb_first(&fs_info->swapfile_pins); fs_info 10785 fs/btrfs/inode.c rb_erase(&sp->node, &fs_info->swapfile_pins); fs_info 10792 fs/btrfs/inode.c spin_unlock(&fs_info->swapfile_pins_lock); fs_info 10848 fs/btrfs/inode.c struct btrfs_fs_info *fs_info = BTRFS_I(inode)->root->fs_info; fs_info 10873 fs/btrfs/inode.c btrfs_warn(fs_info, "swapfile must not be compressed"); fs_info 10877 fs/btrfs/inode.c btrfs_warn(fs_info, "swapfile must not be copy-on-write"); fs_info 10881 fs/btrfs/inode.c btrfs_warn(fs_info, "swapfile must not be checksummed"); fs_info 10894 fs/btrfs/inode.c if (test_and_set_bit(BTRFS_FS_EXCL_OP, &fs_info->flags)) { fs_info 10895 fs/btrfs/inode.c btrfs_warn(fs_info, fs_info 10907 fs/btrfs/inode.c isize = ALIGN_DOWN(inode->i_size, fs_info->sectorsize); fs_info 10923 fs/btrfs/inode.c btrfs_warn(fs_info, "swapfile must not have holes"); fs_info 10935 fs/btrfs/inode.c btrfs_warn(fs_info, "swapfile must not be inline"); fs_info 10940 fs/btrfs/inode.c btrfs_warn(fs_info, "swapfile must not be compressed"); fs_info 10956 fs/btrfs/inode.c btrfs_warn(fs_info, fs_info 10962 fs/btrfs/inode.c em = btrfs_get_chunk_map(fs_info, logical_block_start, len); fs_info 10969 fs/btrfs/inode.c btrfs_warn(fs_info, fs_info 10983 fs/btrfs/inode.c btrfs_warn(fs_info, "swapfile must be on one device"); fs_info 10994 fs/btrfs/inode.c bg = btrfs_lookup_block_group(fs_info, logical_block_start); fs_info 10996 fs/btrfs/inode.c btrfs_warn(fs_info, fs_info 11040 fs/btrfs/inode.c clear_bit(BTRFS_FS_EXCL_OP, &fs_info->flags); fs_info 189 fs/btrfs/ioctl.c struct btrfs_fs_info *fs_info = btrfs_sb(inode->i_sb); fs_info 291 fs/btrfs/ioctl.c comp = btrfs_compress_type2str(fs_info->compress_type); fs_info 485 fs/btrfs/ioctl.c struct btrfs_fs_info *fs_info = btrfs_sb(inode->i_sb); fs_info 503 fs/btrfs/ioctl.c if (btrfs_test_opt(fs_info, NOLOGREPLAY)) fs_info 507 fs/btrfs/ioctl.c list_for_each_entry_rcu(device, &fs_info->fs_devices->devices, fs_info 530 fs/btrfs/ioctl.c if (range.len < fs_info->sb->s_blocksize) fs_info 534 fs/btrfs/ioctl.c ret = btrfs_trim_fs(fs_info, &range); fs_info 561 fs/btrfs/ioctl.c struct btrfs_fs_info *fs_info = btrfs_sb(dir->i_sb); fs_info 583 fs/btrfs/ioctl.c ret = btrfs_find_free_objectid(fs_info->tree_root, &objectid); fs_info 608 fs/btrfs/ioctl.c btrfs_subvolume_release_metadata(fs_info, &block_rsv); fs_info 631 fs/btrfs/ioctl.c fs_info->nodesize); fs_info 664 fs/btrfs/ioctl.c ret = btrfs_insert_root(trans, fs_info->tree_root, &key, fs_info 670 fs/btrfs/ioctl.c new_root = btrfs_read_fs_root_no_name(fs_info, &key); fs_info 729 fs/btrfs/ioctl.c btrfs_subvolume_release_metadata(fs_info, &block_rsv); fs_info 760 fs/btrfs/ioctl.c struct btrfs_fs_info *fs_info = btrfs_sb(dir->i_sb); fs_info 771 fs/btrfs/ioctl.c btrfs_warn(fs_info, fs_info 841 fs/btrfs/ioctl.c spin_lock(&fs_info->trans_lock); fs_info 844 fs/btrfs/ioctl.c spin_unlock(&fs_info->trans_lock); fs_info 873 fs/btrfs/ioctl.c btrfs_subvolume_release_metadata(fs_info, &pending_snapshot->block_rsv); fs_info 961 fs/btrfs/ioctl.c struct btrfs_fs_info *fs_info = btrfs_sb(dir->i_sb); fs_info 988 fs/btrfs/ioctl.c down_read(&fs_info->subvol_sem); fs_info 1003 fs/btrfs/ioctl.c up_read(&fs_info->subvol_sem); fs_info 1390 fs/btrfs/ioctl.c struct btrfs_fs_info *fs_info = btrfs_sb(inode->i_sb); fs_info 1488 fs/btrfs/ioctl.c if (btrfs_defrag_cancelled(fs_info)) { fs_info 1489 fs/btrfs/ioctl.c btrfs_debug(fs_info, "defrag_file cancelled"); fs_info 1577 fs/btrfs/ioctl.c btrfs_set_fs_incompat(fs_info, COMPRESS_LZO); fs_info 1579 fs/btrfs/ioctl.c btrfs_set_fs_incompat(fs_info, COMPRESS_ZSTD); fs_info 1600 fs/btrfs/ioctl.c struct btrfs_fs_info *fs_info = btrfs_sb(inode->i_sb); fs_info 1621 fs/btrfs/ioctl.c if (test_and_set_bit(BTRFS_FS_EXCL_OP, &fs_info->flags)) { fs_info 1647 fs/btrfs/ioctl.c btrfs_info(fs_info, "resizing devid %llu", devid); fs_info 1650 fs/btrfs/ioctl.c device = btrfs_find_device(fs_info->fs_devices, devid, NULL, NULL, true); fs_info 1652 fs/btrfs/ioctl.c btrfs_info(fs_info, "resizer unable to find device %llu", fs_info 1659 fs/btrfs/ioctl.c btrfs_info(fs_info, fs_info 1713 fs/btrfs/ioctl.c new_size = round_down(new_size, fs_info->sectorsize); fs_info 1715 fs/btrfs/ioctl.c btrfs_info_in_rcu(fs_info, "new size for %s is %llu", fs_info 1733 fs/btrfs/ioctl.c clear_bit(BTRFS_FS_EXCL_OP, &fs_info->flags); fs_info 1778 fs/btrfs/ioctl.c btrfs_info(BTRFS_I(file_inode(file))->root->fs_info, fs_info 1849 fs/btrfs/ioctl.c struct btrfs_fs_info *fs_info = btrfs_sb(inode->i_sb); fs_info 1851 fs/btrfs/ioctl.c btrfs_warn(fs_info, fs_info 1893 fs/btrfs/ioctl.c struct btrfs_fs_info *fs_info = btrfs_sb(inode->i_sb); fs_info 1901 fs/btrfs/ioctl.c down_read(&fs_info->subvol_sem); fs_info 1904 fs/btrfs/ioctl.c up_read(&fs_info->subvol_sem); fs_info 1916 fs/btrfs/ioctl.c struct btrfs_fs_info *fs_info = btrfs_sb(inode->i_sb); fs_info 1950 fs/btrfs/ioctl.c down_write(&fs_info->subvol_sem); fs_info 1972 fs/btrfs/ioctl.c btrfs_warn(fs_info, fs_info 1986 fs/btrfs/ioctl.c ret = btrfs_update_root(trans, fs_info->tree_root, fs_info 1999 fs/btrfs/ioctl.c up_write(&fs_info->subvol_sem); fs_info 2378 fs/btrfs/ioctl.c struct btrfs_fs_info *fs_info = BTRFS_I(inode)->root->fs_info; fs_info 2412 fs/btrfs/ioctl.c root = btrfs_read_fs_root_no_name(fs_info, &key); fs_info 2502 fs/btrfs/ioctl.c root = fs_info->tree_root; fs_info 2568 fs/btrfs/ioctl.c ret = btrfs_search_path_in_tree(BTRFS_I(inode)->root->fs_info, fs_info 2627 fs/btrfs/ioctl.c struct btrfs_fs_info *fs_info; fs_info 2651 fs/btrfs/ioctl.c fs_info = BTRFS_I(inode)->root->fs_info; fs_info 2657 fs/btrfs/ioctl.c root = btrfs_read_fs_root_no_name(fs_info, &key); fs_info 2693 fs/btrfs/ioctl.c root = fs_info->tree_root; fs_info 2771 fs/btrfs/ioctl.c root = BTRFS_I(inode)->root->fs_info->tree_root; fs_info 2843 fs/btrfs/ioctl.c struct btrfs_fs_info *fs_info = btrfs_sb(parent->d_sb); fs_info 2904 fs/btrfs/ioctl.c if (!btrfs_test_opt(fs_info, USER_SUBVOL_RM_ALLOWED)) fs_info 3024 fs/btrfs/ioctl.c static long btrfs_ioctl_add_dev(struct btrfs_fs_info *fs_info, void __user *arg) fs_info 3032 fs/btrfs/ioctl.c if (test_and_set_bit(BTRFS_FS_EXCL_OP, &fs_info->flags)) fs_info 3042 fs/btrfs/ioctl.c ret = btrfs_init_new_device(fs_info, vol_args->name); fs_info 3045 fs/btrfs/ioctl.c btrfs_info(fs_info, "disk added %s", vol_args->name); fs_info 3049 fs/btrfs/ioctl.c clear_bit(BTRFS_FS_EXCL_OP, &fs_info->flags); fs_info 3056 fs/btrfs/ioctl.c struct btrfs_fs_info *fs_info = btrfs_sb(inode->i_sb); fs_info 3079 fs/btrfs/ioctl.c if (test_and_set_bit(BTRFS_FS_EXCL_OP, &fs_info->flags)) { fs_info 3085 fs/btrfs/ioctl.c ret = btrfs_rm_device(fs_info, NULL, vol_args->devid); fs_info 3088 fs/btrfs/ioctl.c ret = btrfs_rm_device(fs_info, vol_args->name, 0); fs_info 3090 fs/btrfs/ioctl.c clear_bit(BTRFS_FS_EXCL_OP, &fs_info->flags); fs_info 3094 fs/btrfs/ioctl.c btrfs_info(fs_info, "device deleted: id %llu", fs_info 3097 fs/btrfs/ioctl.c btrfs_info(fs_info, "device deleted: %s", fs_info 3110 fs/btrfs/ioctl.c struct btrfs_fs_info *fs_info = btrfs_sb(inode->i_sb); fs_info 3121 fs/btrfs/ioctl.c if (test_and_set_bit(BTRFS_FS_EXCL_OP, &fs_info->flags)) { fs_info 3133 fs/btrfs/ioctl.c ret = btrfs_rm_device(fs_info, vol_args->name, 0); fs_info 3136 fs/btrfs/ioctl.c btrfs_info(fs_info, "disk deleted %s", vol_args->name); fs_info 3139 fs/btrfs/ioctl.c clear_bit(BTRFS_FS_EXCL_OP, &fs_info->flags); fs_info 3146 fs/btrfs/ioctl.c static long btrfs_ioctl_fs_info(struct btrfs_fs_info *fs_info, fs_info 3151 fs/btrfs/ioctl.c struct btrfs_fs_devices *fs_devices = fs_info->fs_devices; fs_info 3168 fs/btrfs/ioctl.c fi_args->nodesize = fs_info->nodesize; fs_info 3169 fs/btrfs/ioctl.c fi_args->sectorsize = fs_info->sectorsize; fs_info 3170 fs/btrfs/ioctl.c fi_args->clone_alignment = fs_info->sectorsize; fs_info 3179 fs/btrfs/ioctl.c static long btrfs_ioctl_dev_info(struct btrfs_fs_info *fs_info, fs_info 3195 fs/btrfs/ioctl.c dev = btrfs_find_device(fs_info->fs_devices, di_args->devid, s_uuid, fs_info 3247 fs/btrfs/ioctl.c const u64 bs = BTRFS_I(src)->root->fs_info->sb->s_blocksize; fs_info 3272 fs/btrfs/ioctl.c btrfs_warn_rl(root_dst->fs_info, fs_info 3374 fs/btrfs/ioctl.c struct btrfs_fs_info *fs_info = btrfs_sb(dst->i_sb); fs_info 3377 fs/btrfs/ioctl.c fs_info->sectorsize); fs_info 3499 fs/btrfs/ioctl.c struct btrfs_fs_info *fs_info = btrfs_sb(inode->i_sb); fs_info 3513 fs/btrfs/ioctl.c buf = kvmalloc(fs_info->nodesize, GFP_KERNEL); fs_info 3712 fs/btrfs/ioctl.c fs_info->sectorsize); fs_info 3761 fs/btrfs/ioctl.c struct btrfs_fs_info *fs_info = btrfs_sb(inode->i_sb); fs_info 3764 fs/btrfs/ioctl.c u64 bs = fs_info->sb->s_blocksize; fs_info 3831 fs/btrfs/ioctl.c u64 bs = BTRFS_I(inode_out)->root->fs_info->sb->s_blocksize; fs_info 3954 fs/btrfs/ioctl.c struct btrfs_fs_info *fs_info = btrfs_sb(inode->i_sb); fs_info 3985 fs/btrfs/ioctl.c new_root = btrfs_read_fs_root_no_name(fs_info, &location); fs_info 4009 fs/btrfs/ioctl.c dir_id = btrfs_super_root_dir(fs_info->super_copy); fs_info 4010 fs/btrfs/ioctl.c di = btrfs_lookup_dir_item(trans, fs_info->tree_root, path, fs_info 4015 fs/btrfs/ioctl.c btrfs_err(fs_info, fs_info 4026 fs/btrfs/ioctl.c btrfs_set_fs_incompat(fs_info, DEFAULT_SUBVOL); fs_info 4049 fs/btrfs/ioctl.c static long btrfs_ioctl_space_info(struct btrfs_fs_info *fs_info, fs_info 4080 fs/btrfs/ioctl.c list_for_each_entry_rcu(tmp, &fs_info->space_info, fs_info 4136 fs/btrfs/ioctl.c list_for_each_entry_rcu(tmp, &fs_info->space_info, fs_info 4167 fs/btrfs/ioctl.c struct btrfs_block_rsv *block_rsv = &fs_info->global_block_rsv; fs_info 4205 fs/btrfs/ioctl.c transid = root->fs_info->last_trans_committed; fs_info 4221 fs/btrfs/ioctl.c static noinline long btrfs_ioctl_wait_sync(struct btrfs_fs_info *fs_info, fs_info 4232 fs/btrfs/ioctl.c return btrfs_wait_for_commit(fs_info, transid); fs_info 4237 fs/btrfs/ioctl.c struct btrfs_fs_info *fs_info = btrfs_sb(file_inode(file)->i_sb); fs_info 4254 fs/btrfs/ioctl.c ret = btrfs_scrub_dev(fs_info, sa->devid, sa->start, sa->end, fs_info 4280 fs/btrfs/ioctl.c static long btrfs_ioctl_scrub_cancel(struct btrfs_fs_info *fs_info) fs_info 4285 fs/btrfs/ioctl.c return btrfs_scrub_cancel(fs_info); fs_info 4288 fs/btrfs/ioctl.c static long btrfs_ioctl_scrub_progress(struct btrfs_fs_info *fs_info, fs_info 4301 fs/btrfs/ioctl.c ret = btrfs_scrub_progress(fs_info, sa->devid, &sa->progress); fs_info 4310 fs/btrfs/ioctl.c static long btrfs_ioctl_get_dev_stats(struct btrfs_fs_info *fs_info, fs_info 4325 fs/btrfs/ioctl.c ret = btrfs_get_dev_stats(fs_info, sa); fs_info 4334 fs/btrfs/ioctl.c static long btrfs_ioctl_dev_replace(struct btrfs_fs_info *fs_info, fs_info 4349 fs/btrfs/ioctl.c if (sb_rdonly(fs_info->sb)) { fs_info 4353 fs/btrfs/ioctl.c if (test_and_set_bit(BTRFS_FS_EXCL_OP, &fs_info->flags)) { fs_info 4356 fs/btrfs/ioctl.c ret = btrfs_dev_replace_by_ioctl(fs_info, p); fs_info 4357 fs/btrfs/ioctl.c clear_bit(BTRFS_FS_EXCL_OP, &fs_info->flags); fs_info 4361 fs/btrfs/ioctl.c btrfs_dev_replace_status(fs_info, p); fs_info 4365 fs/btrfs/ioctl.c p->result = btrfs_dev_replace_cancel(fs_info); fs_info 4459 fs/btrfs/ioctl.c static long btrfs_ioctl_logical_to_ino(struct btrfs_fs_info *fs_info, fs_info 4507 fs/btrfs/ioctl.c ret = iterate_inodes_from_logical(loi->logical, fs_info, path, fs_info 4528 fs/btrfs/ioctl.c void btrfs_update_ioctl_balance_args(struct btrfs_fs_info *fs_info, fs_info 4531 fs/btrfs/ioctl.c struct btrfs_balance_control *bctl = fs_info->balance_ctl; fs_info 4535 fs/btrfs/ioctl.c if (test_bit(BTRFS_FS_BALANCE_RUNNING, &fs_info->flags)) fs_info 4537 fs/btrfs/ioctl.c if (atomic_read(&fs_info->balance_pause_req)) fs_info 4539 fs/btrfs/ioctl.c if (atomic_read(&fs_info->balance_cancel_req)) fs_info 4546 fs/btrfs/ioctl.c spin_lock(&fs_info->balance_lock); fs_info 4548 fs/btrfs/ioctl.c spin_unlock(&fs_info->balance_lock); fs_info 4554 fs/btrfs/ioctl.c struct btrfs_fs_info *fs_info = root->fs_info; fs_info 4568 fs/btrfs/ioctl.c if (!test_and_set_bit(BTRFS_FS_EXCL_OP, &fs_info->flags)) { fs_info 4569 fs/btrfs/ioctl.c mutex_lock(&fs_info->balance_mutex); fs_info 4580 fs/btrfs/ioctl.c mutex_lock(&fs_info->balance_mutex); fs_info 4581 fs/btrfs/ioctl.c if (fs_info->balance_ctl) { fs_info 4583 fs/btrfs/ioctl.c if (!test_bit(BTRFS_FS_BALANCE_RUNNING, &fs_info->flags)) { fs_info 4584 fs/btrfs/ioctl.c mutex_unlock(&fs_info->balance_mutex); fs_info 4589 fs/btrfs/ioctl.c mutex_lock(&fs_info->balance_mutex); fs_info 4591 fs/btrfs/ioctl.c if (fs_info->balance_ctl && fs_info 4592 fs/btrfs/ioctl.c !test_bit(BTRFS_FS_BALANCE_RUNNING, &fs_info->flags)) { fs_info 4598 fs/btrfs/ioctl.c mutex_unlock(&fs_info->balance_mutex); fs_info 4602 fs/btrfs/ioctl.c mutex_unlock(&fs_info->balance_mutex); fs_info 4608 fs/btrfs/ioctl.c mutex_unlock(&fs_info->balance_mutex); fs_info 4614 fs/btrfs/ioctl.c BUG_ON(!test_bit(BTRFS_FS_EXCL_OP, &fs_info->flags)); fs_info 4624 fs/btrfs/ioctl.c if (!fs_info->balance_ctl) { fs_info 4629 fs/btrfs/ioctl.c bctl = fs_info->balance_ctl; fs_info 4630 fs/btrfs/ioctl.c spin_lock(&fs_info->balance_lock); fs_info 4632 fs/btrfs/ioctl.c spin_unlock(&fs_info->balance_lock); fs_info 4640 fs/btrfs/ioctl.c if (fs_info->balance_ctl) { fs_info 4676 fs/btrfs/ioctl.c ret = btrfs_balance(fs_info, bctl, bargs); fs_info 4689 fs/btrfs/ioctl.c mutex_unlock(&fs_info->balance_mutex); fs_info 4691 fs/btrfs/ioctl.c clear_bit(BTRFS_FS_EXCL_OP, &fs_info->flags); fs_info 4697 fs/btrfs/ioctl.c static long btrfs_ioctl_balance_ctl(struct btrfs_fs_info *fs_info, int cmd) fs_info 4704 fs/btrfs/ioctl.c return btrfs_pause_balance(fs_info); fs_info 4706 fs/btrfs/ioctl.c return btrfs_cancel_balance(fs_info); fs_info 4712 fs/btrfs/ioctl.c static long btrfs_ioctl_balance_progress(struct btrfs_fs_info *fs_info, fs_info 4721 fs/btrfs/ioctl.c mutex_lock(&fs_info->balance_mutex); fs_info 4722 fs/btrfs/ioctl.c if (!fs_info->balance_ctl) { fs_info 4733 fs/btrfs/ioctl.c btrfs_update_ioctl_balance_args(fs_info, bargs); fs_info 4740 fs/btrfs/ioctl.c mutex_unlock(&fs_info->balance_mutex); fs_info 4747 fs/btrfs/ioctl.c struct btrfs_fs_info *fs_info = btrfs_sb(inode->i_sb); fs_info 4764 fs/btrfs/ioctl.c down_write(&fs_info->subvol_sem); fs_info 4768 fs/btrfs/ioctl.c ret = btrfs_quota_enable(fs_info); fs_info 4771 fs/btrfs/ioctl.c ret = btrfs_quota_disable(fs_info); fs_info 4779 fs/btrfs/ioctl.c up_write(&fs_info->subvol_sem); fs_info 4788 fs/btrfs/ioctl.c struct btrfs_fs_info *fs_info = btrfs_sb(inode->i_sb); fs_info 4823 fs/btrfs/ioctl.c btrfs_handle_fs_error(fs_info, err, fs_info 4937 fs/btrfs/ioctl.c struct btrfs_fs_info *fs_info = btrfs_sb(inode->i_sb); fs_info 4959 fs/btrfs/ioctl.c ret = btrfs_qgroup_rescan(fs_info); fs_info 4971 fs/btrfs/ioctl.c struct btrfs_fs_info *fs_info = btrfs_sb(inode->i_sb); fs_info 4982 fs/btrfs/ioctl.c if (fs_info->qgroup_flags & BTRFS_QGROUP_STATUS_FLAG_RESCAN) { fs_info 4984 fs/btrfs/ioctl.c qsa->progress = fs_info->qgroup_rescan_progress.objectid; fs_info 4997 fs/btrfs/ioctl.c struct btrfs_fs_info *fs_info = btrfs_sb(inode->i_sb); fs_info 5002 fs/btrfs/ioctl.c return btrfs_qgroup_wait_for_completion(fs_info, true); fs_info 5009 fs/btrfs/ioctl.c struct btrfs_fs_info *fs_info = btrfs_sb(inode->i_sb); fs_info 5024 fs/btrfs/ioctl.c down_write(&fs_info->subvol_sem); fs_info 5072 fs/btrfs/ioctl.c ret = btrfs_update_root(trans, fs_info->tree_root, fs_info 5090 fs/btrfs/ioctl.c up_write(&fs_info->subvol_sem); fs_info 5173 fs/btrfs/ioctl.c struct btrfs_fs_info *fs_info = btrfs_sb(inode->i_sb); fs_info 5178 fs/btrfs/ioctl.c spin_lock(&fs_info->super_lock); fs_info 5179 fs/btrfs/ioctl.c memcpy(label, fs_info->super_copy->label, BTRFS_LABEL_SIZE); fs_info 5180 fs/btrfs/ioctl.c spin_unlock(&fs_info->super_lock); fs_info 5185 fs/btrfs/ioctl.c btrfs_warn(fs_info, fs_info 5198 fs/btrfs/ioctl.c struct btrfs_fs_info *fs_info = btrfs_sb(inode->i_sb); fs_info 5200 fs/btrfs/ioctl.c struct btrfs_super_block *super_block = fs_info->super_copy; fs_info 5212 fs/btrfs/ioctl.c btrfs_err(fs_info, fs_info 5228 fs/btrfs/ioctl.c spin_lock(&fs_info->super_lock); fs_info 5230 fs/btrfs/ioctl.c spin_unlock(&fs_info->super_lock); fs_info 5260 fs/btrfs/ioctl.c struct btrfs_fs_info *fs_info = btrfs_sb(inode->i_sb); fs_info 5261 fs/btrfs/ioctl.c struct btrfs_super_block *super_block = fs_info->super_copy; fs_info 5274 fs/btrfs/ioctl.c static int check_feature_bits(struct btrfs_fs_info *fs_info, fs_info 5289 fs/btrfs/ioctl.c btrfs_warn(fs_info, fs_info 5294 fs/btrfs/ioctl.c btrfs_warn(fs_info, fs_info 5304 fs/btrfs/ioctl.c btrfs_warn(fs_info, fs_info 5309 fs/btrfs/ioctl.c btrfs_warn(fs_info, fs_info 5319 fs/btrfs/ioctl.c btrfs_warn(fs_info, fs_info 5324 fs/btrfs/ioctl.c btrfs_warn(fs_info, fs_info 5333 fs/btrfs/ioctl.c #define check_feature(fs_info, change_mask, flags, mask_base) \ fs_info 5334 fs/btrfs/ioctl.c check_feature_bits(fs_info, FEAT_##mask_base, change_mask, flags, \ fs_info 5342 fs/btrfs/ioctl.c struct btrfs_fs_info *fs_info = btrfs_sb(inode->i_sb); fs_info 5344 fs/btrfs/ioctl.c struct btrfs_super_block *super_block = fs_info->super_copy; fs_info 5361 fs/btrfs/ioctl.c ret = check_feature(fs_info, flags[0].compat_flags, fs_info 5366 fs/btrfs/ioctl.c ret = check_feature(fs_info, flags[0].compat_ro_flags, fs_info 5371 fs/btrfs/ioctl.c ret = check_feature(fs_info, flags[0].incompat_flags, fs_info 5386 fs/btrfs/ioctl.c spin_lock(&fs_info->super_lock); fs_info 5401 fs/btrfs/ioctl.c spin_unlock(&fs_info->super_lock); fs_info 5449 fs/btrfs/ioctl.c struct btrfs_fs_info *fs_info = btrfs_sb(inode->i_sb); fs_info 5489 fs/btrfs/ioctl.c return btrfs_ioctl_add_dev(fs_info, argp); fs_info 5495 fs/btrfs/ioctl.c return btrfs_ioctl_fs_info(fs_info, argp); fs_info 5497 fs/btrfs/ioctl.c return btrfs_ioctl_dev_info(fs_info, argp); fs_info 5509 fs/btrfs/ioctl.c return btrfs_ioctl_logical_to_ino(fs_info, argp, 1); fs_info 5511 fs/btrfs/ioctl.c return btrfs_ioctl_logical_to_ino(fs_info, argp, 2); fs_info 5513 fs/btrfs/ioctl.c return btrfs_ioctl_space_info(fs_info, argp); fs_info 5517 fs/btrfs/ioctl.c ret = btrfs_start_delalloc_roots(fs_info, -1); fs_info 5526 fs/btrfs/ioctl.c wake_up_process(fs_info->transaction_kthread); fs_info 5532 fs/btrfs/ioctl.c return btrfs_ioctl_wait_sync(fs_info, argp); fs_info 5536 fs/btrfs/ioctl.c return btrfs_ioctl_scrub_cancel(fs_info); fs_info 5538 fs/btrfs/ioctl.c return btrfs_ioctl_scrub_progress(fs_info, argp); fs_info 5542 fs/btrfs/ioctl.c return btrfs_ioctl_balance_ctl(fs_info, arg); fs_info 5544 fs/btrfs/ioctl.c return btrfs_ioctl_balance_progress(fs_info, argp); fs_info 5558 fs/btrfs/ioctl.c return btrfs_ioctl_get_dev_stats(fs_info, argp); fs_info 5574 fs/btrfs/ioctl.c return btrfs_ioctl_dev_replace(fs_info, argp); fs_info 58 fs/btrfs/ordered-data.c struct btrfs_fs_info *fs_info = btrfs_sb(inode->i_sb); fs_info 59 fs/btrfs/ordered-data.c btrfs_panic(fs_info, errno, fs_info 178 fs/btrfs/ordered-data.c struct btrfs_fs_info *fs_info = btrfs_sb(inode->i_sb); fs_info 201 fs/btrfs/ordered-data.c percpu_counter_add_batch(&fs_info->dio_bytes, len, fs_info 202 fs/btrfs/ordered-data.c fs_info->delalloc_batch); fs_info 230 fs/btrfs/ordered-data.c spin_lock(&fs_info->ordered_root_lock); fs_info 232 fs/btrfs/ordered-data.c list_add_tail(&root->ordered_root, &fs_info->ordered_roots); fs_info 233 fs/btrfs/ordered-data.c spin_unlock(&fs_info->ordered_root_lock); fs_info 306 fs/btrfs/ordered-data.c struct btrfs_fs_info *fs_info = btrfs_sb(inode->i_sb); fs_info 335 fs/btrfs/ordered-data.c btrfs_crit(fs_info, "bad ordering dec_start %llu end %llu", fs_info 340 fs/btrfs/ordered-data.c btrfs_crit(fs_info, fs_info 404 fs/btrfs/ordered-data.c btrfs_crit(BTRFS_I(inode)->root->fs_info, fs_info 463 fs/btrfs/ordered-data.c struct btrfs_fs_info *fs_info = btrfs_sb(inode->i_sb); fs_info 473 fs/btrfs/ordered-data.c if (root != fs_info->tree_root) fs_info 477 fs/btrfs/ordered-data.c percpu_counter_add_batch(&fs_info->dio_bytes, -entry->len, fs_info 478 fs/btrfs/ordered-data.c fs_info->delalloc_batch); fs_info 497 fs/btrfs/ordered-data.c spin_lock(&fs_info->ordered_root_lock); fs_info 500 fs/btrfs/ordered-data.c spin_unlock(&fs_info->ordered_root_lock); fs_info 522 fs/btrfs/ordered-data.c struct btrfs_fs_info *fs_info = root->fs_info; fs_info 552 fs/btrfs/ordered-data.c btrfs_queue_work(fs_info->flush_workers, &ordered->flush_work); fs_info 575 fs/btrfs/ordered-data.c u64 btrfs_wait_ordered_roots(struct btrfs_fs_info *fs_info, u64 nr, fs_info 585 fs/btrfs/ordered-data.c mutex_lock(&fs_info->ordered_operations_mutex); fs_info 586 fs/btrfs/ordered-data.c spin_lock(&fs_info->ordered_root_lock); fs_info 587 fs/btrfs/ordered-data.c list_splice_init(&fs_info->ordered_roots, &splice); fs_info 594 fs/btrfs/ordered-data.c &fs_info->ordered_roots); fs_info 595 fs/btrfs/ordered-data.c spin_unlock(&fs_info->ordered_root_lock); fs_info 602 fs/btrfs/ordered-data.c spin_lock(&fs_info->ordered_root_lock); fs_info 607 fs/btrfs/ordered-data.c list_splice_tail(&splice, &fs_info->ordered_roots); fs_info 608 fs/btrfs/ordered-data.c spin_unlock(&fs_info->ordered_root_lock); fs_info 609 fs/btrfs/ordered-data.c mutex_unlock(&fs_info->ordered_operations_mutex); fs_info 935 fs/btrfs/ordered-data.c struct btrfs_fs_info *fs_info = btrfs_sb(inode->i_sb); fs_info 942 fs/btrfs/ordered-data.c const u16 csum_size = btrfs_super_csum_size(fs_info->super_copy); fs_info 136 fs/btrfs/ordered-data.h static inline int btrfs_ordered_sum_size(struct btrfs_fs_info *fs_info, fs_info 139 fs/btrfs/ordered-data.h int num_sectors = (int)DIV_ROUND_UP(bytes, fs_info->sectorsize); fs_info 140 fs/btrfs/ordered-data.h int csum_size = btrfs_super_csum_size(fs_info->super_copy); fs_info 189 fs/btrfs/ordered-data.h u64 btrfs_wait_ordered_roots(struct btrfs_fs_info *fs_info, u64 nr, fs_info 56 fs/btrfs/print-tree.c btrfs_print_v0_err(eb->fs_info); fs_info 57 fs/btrfs/print-tree.c btrfs_handle_fs_error(eb->fs_info, -EINVAL, NULL); fs_info 98 fs/btrfs/print-tree.c if (!IS_ALIGNED(offset, eb->fs_info->nodesize)) fs_info 100 fs/btrfs/print-tree.c offset, (unsigned long long)eb->fs_info->nodesize); fs_info 114 fs/btrfs/print-tree.c if (!IS_ALIGNED(offset, eb->fs_info->nodesize)) fs_info 116 fs/btrfs/print-tree.c offset, (unsigned long long)eb->fs_info->nodesize); fs_info 154 fs/btrfs/print-tree.c btrfs_info(eb->fs_info, fs_info 168 fs/btrfs/print-tree.c struct btrfs_fs_info *fs_info; fs_info 186 fs/btrfs/print-tree.c fs_info = l->fs_info; fs_info 189 fs/btrfs/print-tree.c btrfs_info(fs_info, fs_info 261 fs/btrfs/print-tree.c btrfs_print_v0_err(fs_info); fs_info 262 fs/btrfs/print-tree.c btrfs_handle_fs_error(fs_info, -EINVAL, NULL); fs_info 326 fs/btrfs/print-tree.c struct btrfs_fs_info *fs_info; fs_info 333 fs/btrfs/print-tree.c fs_info = c->fs_info; fs_info 340 fs/btrfs/print-tree.c btrfs_info(fs_info, fs_info 343 fs/btrfs/print-tree.c nr, (u32)BTRFS_NODEPTRS_PER_BLOCK(fs_info) - nr, fs_info 360 fs/btrfs/print-tree.c next = read_tree_block(fs_info, btrfs_node_blockptr(c, i), fs_info 236 fs/btrfs/props.c btrfs_warn(root->fs_info, fs_info 269 fs/btrfs/props.c struct btrfs_fs_info *fs_info = btrfs_sb(inode->i_sb); fs_info 282 fs/btrfs/props.c btrfs_set_fs_incompat(fs_info, COMPRESS_LZO); fs_info 287 fs/btrfs/props.c btrfs_set_fs_incompat(fs_info, COMPRESS_ZSTD); fs_info 328 fs/btrfs/props.c struct btrfs_fs_info *fs_info = root->fs_info; fs_info 365 fs/btrfs/props.c num_bytes = btrfs_calc_insert_metadata_size(fs_info, 1); fs_info 385 fs/btrfs/props.c btrfs_block_rsv_release(fs_info, trans->block_rsv, fs_info 410 fs/btrfs/props.c struct super_block *sb = root->fs_info->sb; fs_info 68 fs/btrfs/qgroup.c static void qgroup_rsv_add(struct btrfs_fs_info *fs_info, fs_info 72 fs/btrfs/qgroup.c trace_qgroup_update_reserve(fs_info, qgroup, num_bytes, type); fs_info 76 fs/btrfs/qgroup.c static void qgroup_rsv_release(struct btrfs_fs_info *fs_info, fs_info 80 fs/btrfs/qgroup.c trace_qgroup_update_reserve(fs_info, qgroup, -(s64)num_bytes, type); fs_info 94 fs/btrfs/qgroup.c static void qgroup_rsv_add_by_qgroup(struct btrfs_fs_info *fs_info, fs_info 101 fs/btrfs/qgroup.c qgroup_rsv_add(fs_info, dest, src->rsv.values[i], i); fs_info 104 fs/btrfs/qgroup.c static void qgroup_rsv_release_by_qgroup(struct btrfs_fs_info *fs_info, fs_info 111 fs/btrfs/qgroup.c qgroup_rsv_release(fs_info, dest, src->rsv.values[i], i); fs_info 165 fs/btrfs/qgroup.c qgroup_rescan_init(struct btrfs_fs_info *fs_info, u64 progress_objectid, fs_info 167 fs/btrfs/qgroup.c static void qgroup_rescan_zero_tracking(struct btrfs_fs_info *fs_info); fs_info 170 fs/btrfs/qgroup.c static struct btrfs_qgroup *find_qgroup_rb(struct btrfs_fs_info *fs_info, fs_info 173 fs/btrfs/qgroup.c struct rb_node *n = fs_info->qgroup_tree.rb_node; fs_info 189 fs/btrfs/qgroup.c static struct btrfs_qgroup *add_qgroup_rb(struct btrfs_fs_info *fs_info, fs_info 192 fs/btrfs/qgroup.c struct rb_node **p = &fs_info->qgroup_tree.rb_node; fs_info 218 fs/btrfs/qgroup.c rb_insert_color(&qgroup->node, &fs_info->qgroup_tree); fs_info 247 fs/btrfs/qgroup.c static int del_qgroup_rb(struct btrfs_fs_info *fs_info, u64 qgroupid) fs_info 249 fs/btrfs/qgroup.c struct btrfs_qgroup *qgroup = find_qgroup_rb(fs_info, qgroupid); fs_info 254 fs/btrfs/qgroup.c rb_erase(&qgroup->node, &fs_info->qgroup_tree); fs_info 260 fs/btrfs/qgroup.c static int add_relation_rb(struct btrfs_fs_info *fs_info, fs_info 267 fs/btrfs/qgroup.c member = find_qgroup_rb(fs_info, memberid); fs_info 268 fs/btrfs/qgroup.c parent = find_qgroup_rb(fs_info, parentid); fs_info 285 fs/btrfs/qgroup.c static int del_relation_rb(struct btrfs_fs_info *fs_info, fs_info 292 fs/btrfs/qgroup.c member = find_qgroup_rb(fs_info, memberid); fs_info 293 fs/btrfs/qgroup.c parent = find_qgroup_rb(fs_info, parentid); fs_info 309 fs/btrfs/qgroup.c int btrfs_verify_qgroup_counts(struct btrfs_fs_info *fs_info, u64 qgroupid, fs_info 314 fs/btrfs/qgroup.c qgroup = find_qgroup_rb(fs_info, qgroupid); fs_info 327 fs/btrfs/qgroup.c int btrfs_read_qgroup_config(struct btrfs_fs_info *fs_info) fs_info 331 fs/btrfs/qgroup.c struct btrfs_root *quota_root = fs_info->quota_root; fs_info 339 fs/btrfs/qgroup.c if (!test_bit(BTRFS_FS_QUOTA_ENABLED, &fs_info->flags)) fs_info 342 fs/btrfs/qgroup.c fs_info->qgroup_ulist = ulist_alloc(GFP_KERNEL); fs_info 343 fs/btrfs/qgroup.c if (!fs_info->qgroup_ulist) { fs_info 355 fs/btrfs/qgroup.c fs_info->qgroup_flags = 0; fs_info 382 fs/btrfs/qgroup.c btrfs_err(fs_info, fs_info 387 fs/btrfs/qgroup.c fs_info->generation) { fs_info 389 fs/btrfs/qgroup.c btrfs_err(fs_info, fs_info 392 fs/btrfs/qgroup.c fs_info->qgroup_flags = btrfs_qgroup_status_flags(l, fs_info 402 fs/btrfs/qgroup.c qgroup = find_qgroup_rb(fs_info, found_key.offset); fs_info 405 fs/btrfs/qgroup.c btrfs_err(fs_info, "inconsistent qgroup config"); fs_info 409 fs/btrfs/qgroup.c qgroup = add_qgroup_rb(fs_info, found_key.offset); fs_info 473 fs/btrfs/qgroup.c ret = add_relation_rb(fs_info, found_key.objectid, fs_info 476 fs/btrfs/qgroup.c btrfs_warn(fs_info, fs_info 491 fs/btrfs/qgroup.c fs_info->qgroup_flags |= flags; fs_info 492 fs/btrfs/qgroup.c if (!(fs_info->qgroup_flags & BTRFS_QGROUP_STATUS_FLAG_ON)) fs_info 493 fs/btrfs/qgroup.c clear_bit(BTRFS_FS_QUOTA_ENABLED, &fs_info->flags); fs_info 494 fs/btrfs/qgroup.c else if (fs_info->qgroup_flags & BTRFS_QGROUP_STATUS_FLAG_RESCAN && fs_info 496 fs/btrfs/qgroup.c ret = qgroup_rescan_init(fs_info, rescan_progress, 0); fs_info 500 fs/btrfs/qgroup.c ulist_free(fs_info->qgroup_ulist); fs_info 501 fs/btrfs/qgroup.c fs_info->qgroup_ulist = NULL; fs_info 502 fs/btrfs/qgroup.c fs_info->qgroup_flags &= ~BTRFS_QGROUP_STATUS_FLAG_RESCAN; fs_info 514 fs/btrfs/qgroup.c void btrfs_free_qgroup_config(struct btrfs_fs_info *fs_info) fs_info 519 fs/btrfs/qgroup.c while ((n = rb_first(&fs_info->qgroup_tree))) { fs_info 521 fs/btrfs/qgroup.c rb_erase(n, &fs_info->qgroup_tree); fs_info 529 fs/btrfs/qgroup.c ulist_free(fs_info->qgroup_ulist); fs_info 530 fs/btrfs/qgroup.c fs_info->qgroup_ulist = NULL; fs_info 537 fs/btrfs/qgroup.c struct btrfs_root *quota_root = trans->fs_info->quota_root; fs_info 561 fs/btrfs/qgroup.c struct btrfs_root *quota_root = trans->fs_info->quota_root; fs_info 598 fs/btrfs/qgroup.c if (btrfs_is_testing(quota_root->fs_info)) fs_info 659 fs/btrfs/qgroup.c struct btrfs_root *quota_root = trans->fs_info->quota_root; fs_info 705 fs/btrfs/qgroup.c struct btrfs_root *quota_root = trans->fs_info->quota_root; fs_info 747 fs/btrfs/qgroup.c struct btrfs_fs_info *fs_info = trans->fs_info; fs_info 748 fs/btrfs/qgroup.c struct btrfs_root *quota_root = fs_info->quota_root; fs_info 756 fs/btrfs/qgroup.c if (btrfs_is_testing(fs_info)) fs_info 792 fs/btrfs/qgroup.c struct btrfs_fs_info *fs_info = trans->fs_info; fs_info 793 fs/btrfs/qgroup.c struct btrfs_root *quota_root = fs_info->quota_root; fs_info 819 fs/btrfs/qgroup.c btrfs_set_qgroup_status_flags(l, ptr, fs_info->qgroup_flags); fs_info 822 fs/btrfs/qgroup.c fs_info->qgroup_rescan_progress.objectid); fs_info 879 fs/btrfs/qgroup.c int btrfs_quota_enable(struct btrfs_fs_info *fs_info) fs_info 882 fs/btrfs/qgroup.c struct btrfs_root *tree_root = fs_info->tree_root; fs_info 893 fs/btrfs/qgroup.c mutex_lock(&fs_info->qgroup_ioctl_lock); fs_info 894 fs/btrfs/qgroup.c if (fs_info->quota_root) fs_info 897 fs/btrfs/qgroup.c fs_info->qgroup_ulist = ulist_alloc(GFP_KERNEL); fs_info 898 fs/btrfs/qgroup.c if (!fs_info->qgroup_ulist) { fs_info 951 fs/btrfs/qgroup.c fs_info->qgroup_flags = BTRFS_QGROUP_STATUS_FLAG_ON | fs_info 953 fs/btrfs/qgroup.c btrfs_set_qgroup_status_flags(leaf, ptr, fs_info->qgroup_flags); fs_info 984 fs/btrfs/qgroup.c qgroup = add_qgroup_rb(fs_info, found_key.offset); fs_info 1008 fs/btrfs/qgroup.c qgroup = add_qgroup_rb(fs_info, BTRFS_FS_TREE_OBJECTID); fs_info 1025 fs/btrfs/qgroup.c spin_lock(&fs_info->qgroup_lock); fs_info 1026 fs/btrfs/qgroup.c fs_info->quota_root = quota_root; fs_info 1027 fs/btrfs/qgroup.c set_bit(BTRFS_FS_QUOTA_ENABLED, &fs_info->flags); fs_info 1028 fs/btrfs/qgroup.c spin_unlock(&fs_info->qgroup_lock); fs_info 1030 fs/btrfs/qgroup.c ret = qgroup_rescan_init(fs_info, 0, 1); fs_info 1032 fs/btrfs/qgroup.c qgroup_rescan_zero_tracking(fs_info); fs_info 1033 fs/btrfs/qgroup.c fs_info->qgroup_rescan_running = true; fs_info 1034 fs/btrfs/qgroup.c btrfs_queue_work(fs_info->qgroup_rescan_workers, fs_info 1035 fs/btrfs/qgroup.c &fs_info->qgroup_rescan_work); fs_info 1048 fs/btrfs/qgroup.c ulist_free(fs_info->qgroup_ulist); fs_info 1049 fs/btrfs/qgroup.c fs_info->qgroup_ulist = NULL; fs_info 1053 fs/btrfs/qgroup.c mutex_unlock(&fs_info->qgroup_ioctl_lock); fs_info 1057 fs/btrfs/qgroup.c int btrfs_quota_disable(struct btrfs_fs_info *fs_info) fs_info 1063 fs/btrfs/qgroup.c mutex_lock(&fs_info->qgroup_ioctl_lock); fs_info 1064 fs/btrfs/qgroup.c if (!fs_info->quota_root) fs_info 1073 fs/btrfs/qgroup.c trans = btrfs_start_transaction(fs_info->tree_root, 1); fs_info 1079 fs/btrfs/qgroup.c clear_bit(BTRFS_FS_QUOTA_ENABLED, &fs_info->flags); fs_info 1080 fs/btrfs/qgroup.c btrfs_qgroup_wait_for_completion(fs_info, false); fs_info 1081 fs/btrfs/qgroup.c spin_lock(&fs_info->qgroup_lock); fs_info 1082 fs/btrfs/qgroup.c quota_root = fs_info->quota_root; fs_info 1083 fs/btrfs/qgroup.c fs_info->quota_root = NULL; fs_info 1084 fs/btrfs/qgroup.c fs_info->qgroup_flags &= ~BTRFS_QGROUP_STATUS_FLAG_ON; fs_info 1085 fs/btrfs/qgroup.c spin_unlock(&fs_info->qgroup_lock); fs_info 1087 fs/btrfs/qgroup.c btrfs_free_qgroup_config(fs_info); fs_info 1115 fs/btrfs/qgroup.c mutex_unlock(&fs_info->qgroup_ioctl_lock); fs_info 1119 fs/btrfs/qgroup.c static void qgroup_dirty(struct btrfs_fs_info *fs_info, fs_info 1123 fs/btrfs/qgroup.c list_add(&qgroup->dirty, &fs_info->dirty_qgroups); fs_info 1140 fs/btrfs/qgroup.c static int __qgroup_excl_accounting(struct btrfs_fs_info *fs_info, fs_info 1151 fs/btrfs/qgroup.c qgroup = find_qgroup_rb(fs_info, ref_root); fs_info 1163 fs/btrfs/qgroup.c qgroup_rsv_add_by_qgroup(fs_info, qgroup, src); fs_info 1165 fs/btrfs/qgroup.c qgroup_rsv_release_by_qgroup(fs_info, qgroup, src); fs_info 1167 fs/btrfs/qgroup.c qgroup_dirty(fs_info, qgroup); fs_info 1186 fs/btrfs/qgroup.c qgroup_rsv_add_by_qgroup(fs_info, qgroup, src); fs_info 1188 fs/btrfs/qgroup.c qgroup_rsv_release_by_qgroup(fs_info, qgroup, src); fs_info 1190 fs/btrfs/qgroup.c qgroup_dirty(fs_info, qgroup); fs_info 1217 fs/btrfs/qgroup.c static int quick_update_accounting(struct btrfs_fs_info *fs_info, fs_info 1225 fs/btrfs/qgroup.c qgroup = find_qgroup_rb(fs_info, src); fs_info 1230 fs/btrfs/qgroup.c err = __qgroup_excl_accounting(fs_info, tmp, dst, fs_info 1239 fs/btrfs/qgroup.c fs_info->qgroup_flags |= BTRFS_QGROUP_STATUS_FLAG_INCONSISTENT; fs_info 1246 fs/btrfs/qgroup.c struct btrfs_fs_info *fs_info = trans->fs_info; fs_info 1262 fs/btrfs/qgroup.c mutex_lock(&fs_info->qgroup_ioctl_lock); fs_info 1263 fs/btrfs/qgroup.c quota_root = fs_info->quota_root; fs_info 1268 fs/btrfs/qgroup.c member = find_qgroup_rb(fs_info, src); fs_info 1269 fs/btrfs/qgroup.c parent = find_qgroup_rb(fs_info, dst); fs_info 1293 fs/btrfs/qgroup.c spin_lock(&fs_info->qgroup_lock); fs_info 1294 fs/btrfs/qgroup.c ret = add_relation_rb(fs_info, src, dst); fs_info 1296 fs/btrfs/qgroup.c spin_unlock(&fs_info->qgroup_lock); fs_info 1299 fs/btrfs/qgroup.c ret = quick_update_accounting(fs_info, tmp, src, dst, 1); fs_info 1300 fs/btrfs/qgroup.c spin_unlock(&fs_info->qgroup_lock); fs_info 1302 fs/btrfs/qgroup.c mutex_unlock(&fs_info->qgroup_ioctl_lock); fs_info 1310 fs/btrfs/qgroup.c struct btrfs_fs_info *fs_info = trans->fs_info; fs_info 1324 fs/btrfs/qgroup.c quota_root = fs_info->quota_root; fs_info 1330 fs/btrfs/qgroup.c member = find_qgroup_rb(fs_info, src); fs_info 1331 fs/btrfs/qgroup.c parent = find_qgroup_rb(fs_info, dst); fs_info 1360 fs/btrfs/qgroup.c spin_lock(&fs_info->qgroup_lock); fs_info 1361 fs/btrfs/qgroup.c del_relation_rb(fs_info, src, dst); fs_info 1362 fs/btrfs/qgroup.c ret = quick_update_accounting(fs_info, tmp, src, dst, -1); fs_info 1363 fs/btrfs/qgroup.c spin_unlock(&fs_info->qgroup_lock); fs_info 1373 fs/btrfs/qgroup.c struct btrfs_fs_info *fs_info = trans->fs_info; fs_info 1376 fs/btrfs/qgroup.c mutex_lock(&fs_info->qgroup_ioctl_lock); fs_info 1378 fs/btrfs/qgroup.c mutex_unlock(&fs_info->qgroup_ioctl_lock); fs_info 1385 fs/btrfs/qgroup.c struct btrfs_fs_info *fs_info = trans->fs_info; fs_info 1390 fs/btrfs/qgroup.c mutex_lock(&fs_info->qgroup_ioctl_lock); fs_info 1391 fs/btrfs/qgroup.c quota_root = fs_info->quota_root; fs_info 1396 fs/btrfs/qgroup.c qgroup = find_qgroup_rb(fs_info, qgroupid); fs_info 1406 fs/btrfs/qgroup.c spin_lock(&fs_info->qgroup_lock); fs_info 1407 fs/btrfs/qgroup.c qgroup = add_qgroup_rb(fs_info, qgroupid); fs_info 1408 fs/btrfs/qgroup.c spin_unlock(&fs_info->qgroup_lock); fs_info 1413 fs/btrfs/qgroup.c mutex_unlock(&fs_info->qgroup_ioctl_lock); fs_info 1419 fs/btrfs/qgroup.c struct btrfs_fs_info *fs_info = trans->fs_info; fs_info 1425 fs/btrfs/qgroup.c mutex_lock(&fs_info->qgroup_ioctl_lock); fs_info 1426 fs/btrfs/qgroup.c quota_root = fs_info->quota_root; fs_info 1432 fs/btrfs/qgroup.c qgroup = find_qgroup_rb(fs_info, qgroupid); fs_info 1457 fs/btrfs/qgroup.c spin_lock(&fs_info->qgroup_lock); fs_info 1458 fs/btrfs/qgroup.c del_qgroup_rb(fs_info, qgroupid); fs_info 1459 fs/btrfs/qgroup.c spin_unlock(&fs_info->qgroup_lock); fs_info 1461 fs/btrfs/qgroup.c mutex_unlock(&fs_info->qgroup_ioctl_lock); fs_info 1468 fs/btrfs/qgroup.c struct btrfs_fs_info *fs_info = trans->fs_info; fs_info 1478 fs/btrfs/qgroup.c mutex_lock(&fs_info->qgroup_ioctl_lock); fs_info 1479 fs/btrfs/qgroup.c quota_root = fs_info->quota_root; fs_info 1485 fs/btrfs/qgroup.c qgroup = find_qgroup_rb(fs_info, qgroupid); fs_info 1491 fs/btrfs/qgroup.c spin_lock(&fs_info->qgroup_lock); fs_info 1530 fs/btrfs/qgroup.c spin_unlock(&fs_info->qgroup_lock); fs_info 1534 fs/btrfs/qgroup.c fs_info->qgroup_flags |= BTRFS_QGROUP_STATUS_FLAG_INCONSISTENT; fs_info 1535 fs/btrfs/qgroup.c btrfs_info(fs_info, "unable to update quota limit for %llu", fs_info 1540 fs/btrfs/qgroup.c mutex_unlock(&fs_info->qgroup_ioctl_lock); fs_info 1544 fs/btrfs/qgroup.c int btrfs_qgroup_trace_extent_nolock(struct btrfs_fs_info *fs_info, fs_info 1554 fs/btrfs/qgroup.c trace_btrfs_qgroup_trace_extent(fs_info, record); fs_info 1579 fs/btrfs/qgroup.c int btrfs_qgroup_trace_extent_post(struct btrfs_fs_info *fs_info, fs_info 1586 fs/btrfs/qgroup.c ret = btrfs_find_all_roots(NULL, fs_info, bytenr, 0, &old_root, false); fs_info 1588 fs/btrfs/qgroup.c fs_info->qgroup_flags |= BTRFS_QGROUP_STATUS_FLAG_INCONSISTENT; fs_info 1589 fs/btrfs/qgroup.c btrfs_warn(fs_info, fs_info 1609 fs/btrfs/qgroup.c struct btrfs_fs_info *fs_info = trans->fs_info; fs_info 1614 fs/btrfs/qgroup.c if (!test_bit(BTRFS_FS_QUOTA_ENABLED, &fs_info->flags) fs_info 1627 fs/btrfs/qgroup.c ret = btrfs_qgroup_trace_extent_nolock(fs_info, delayed_refs, record); fs_info 1633 fs/btrfs/qgroup.c return btrfs_qgroup_trace_extent_post(fs_info, record); fs_info 1639 fs/btrfs/qgroup.c struct btrfs_fs_info *fs_info = trans->fs_info; fs_info 1647 fs/btrfs/qgroup.c if (!test_bit(BTRFS_FS_QUOTA_ENABLED, &fs_info->flags)) fs_info 1793 fs/btrfs/qgroup.c struct btrfs_fs_info *fs_info = trans->fs_info; fs_info 1794 fs/btrfs/qgroup.c u32 nodesize = fs_info->nodesize; fs_info 1838 fs/btrfs/qgroup.c eb = read_tree_block(fs_info, child_bytenr, child_gen, fs_info 1930 fs/btrfs/qgroup.c struct btrfs_fs_info *fs_info = trans->fs_info; fs_info 1940 fs/btrfs/qgroup.c btrfs_err_rl(fs_info, fs_info 1958 fs/btrfs/qgroup.c btrfs_err_rl(fs_info, fs_info 1978 fs/btrfs/qgroup.c eb = read_tree_block(fs_info, child_bytenr, child_gen, fs_info 2042 fs/btrfs/qgroup.c struct btrfs_fs_info *fs_info = trans->fs_info; fs_info 2047 fs/btrfs/qgroup.c if (!test_bit(BTRFS_FS_QUOTA_ENABLED, &fs_info->flags)) fs_info 2052 fs/btrfs/qgroup.c btrfs_err_rl(fs_info, fs_info 2086 fs/btrfs/qgroup.c fs_info->qgroup_flags |= BTRFS_QGROUP_STATUS_FLAG_INCONSISTENT; fs_info 2094 fs/btrfs/qgroup.c struct btrfs_fs_info *fs_info = trans->fs_info; fs_info 2103 fs/btrfs/qgroup.c if (!test_bit(BTRFS_FS_QUOTA_ENABLED, &fs_info->flags)) fs_info 2153 fs/btrfs/qgroup.c eb = read_tree_block(fs_info, child_bytenr, child_gen, fs_info 2172 fs/btrfs/qgroup.c fs_info->nodesize, fs_info 2208 fs/btrfs/qgroup.c static int qgroup_update_refcnt(struct btrfs_fs_info *fs_info, fs_info 2223 fs/btrfs/qgroup.c qg = find_qgroup_rb(fs_info, unode->val); fs_info 2297 fs/btrfs/qgroup.c static int qgroup_update_counters(struct btrfs_fs_info *fs_info, fs_info 2316 fs/btrfs/qgroup.c trace_qgroup_update_counters(fs_info, qg, cur_old_count, fs_info 2381 fs/btrfs/qgroup.c qgroup_dirty(fs_info, qg); fs_info 2419 fs/btrfs/qgroup.c struct btrfs_fs_info *fs_info = trans->fs_info; fs_info 2431 fs/btrfs/qgroup.c if (!test_bit(BTRFS_FS_QUOTA_ENABLED, &fs_info->flags)) fs_info 2449 fs/btrfs/qgroup.c BUG_ON(!fs_info->quota_root); fs_info 2451 fs/btrfs/qgroup.c trace_btrfs_qgroup_account_extent(fs_info, trans->transid, bytenr, fs_info 2465 fs/btrfs/qgroup.c mutex_lock(&fs_info->qgroup_rescan_lock); fs_info 2466 fs/btrfs/qgroup.c if (fs_info->qgroup_flags & BTRFS_QGROUP_STATUS_FLAG_RESCAN) { fs_info 2467 fs/btrfs/qgroup.c if (fs_info->qgroup_rescan_progress.objectid <= bytenr) { fs_info 2468 fs/btrfs/qgroup.c mutex_unlock(&fs_info->qgroup_rescan_lock); fs_info 2473 fs/btrfs/qgroup.c mutex_unlock(&fs_info->qgroup_rescan_lock); fs_info 2475 fs/btrfs/qgroup.c spin_lock(&fs_info->qgroup_lock); fs_info 2476 fs/btrfs/qgroup.c seq = fs_info->qgroup_seq; fs_info 2479 fs/btrfs/qgroup.c ret = qgroup_update_refcnt(fs_info, old_roots, tmp, qgroups, seq, fs_info 2485 fs/btrfs/qgroup.c ret = qgroup_update_refcnt(fs_info, new_roots, tmp, qgroups, seq, fs_info 2490 fs/btrfs/qgroup.c qgroup_update_counters(fs_info, qgroups, nr_old_roots, nr_new_roots, fs_info 2496 fs/btrfs/qgroup.c fs_info->qgroup_seq += max(nr_old_roots, nr_new_roots) + 1; fs_info 2498 fs/btrfs/qgroup.c spin_unlock(&fs_info->qgroup_lock); fs_info 2509 fs/btrfs/qgroup.c struct btrfs_fs_info *fs_info = trans->fs_info; fs_info 2525 fs/btrfs/qgroup.c trace_btrfs_qgroup_account_extents(fs_info, record); fs_info 2534 fs/btrfs/qgroup.c ret = btrfs_find_all_roots(NULL, fs_info, fs_info 2542 fs/btrfs/qgroup.c btrfs_qgroup_free_refroot(fs_info, fs_info 2551 fs/btrfs/qgroup.c ret = btrfs_find_all_roots(trans, fs_info, fs_info 2575 fs/btrfs/qgroup.c trace_qgroup_num_dirty_extents(fs_info, trans->transid, fs_info 2585 fs/btrfs/qgroup.c struct btrfs_fs_info *fs_info = trans->fs_info; fs_info 2586 fs/btrfs/qgroup.c struct btrfs_root *quota_root = fs_info->quota_root; fs_info 2592 fs/btrfs/qgroup.c spin_lock(&fs_info->qgroup_lock); fs_info 2593 fs/btrfs/qgroup.c while (!list_empty(&fs_info->dirty_qgroups)) { fs_info 2595 fs/btrfs/qgroup.c qgroup = list_first_entry(&fs_info->dirty_qgroups, fs_info 2598 fs/btrfs/qgroup.c spin_unlock(&fs_info->qgroup_lock); fs_info 2601 fs/btrfs/qgroup.c fs_info->qgroup_flags |= fs_info 2605 fs/btrfs/qgroup.c fs_info->qgroup_flags |= fs_info 2607 fs/btrfs/qgroup.c spin_lock(&fs_info->qgroup_lock); fs_info 2609 fs/btrfs/qgroup.c if (test_bit(BTRFS_FS_QUOTA_ENABLED, &fs_info->flags)) fs_info 2610 fs/btrfs/qgroup.c fs_info->qgroup_flags |= BTRFS_QGROUP_STATUS_FLAG_ON; fs_info 2612 fs/btrfs/qgroup.c fs_info->qgroup_flags &= ~BTRFS_QGROUP_STATUS_FLAG_ON; fs_info 2613 fs/btrfs/qgroup.c spin_unlock(&fs_info->qgroup_lock); fs_info 2617 fs/btrfs/qgroup.c fs_info->qgroup_flags |= BTRFS_QGROUP_STATUS_FLAG_INCONSISTENT; fs_info 2635 fs/btrfs/qgroup.c struct btrfs_fs_info *fs_info = trans->fs_info; fs_info 2654 fs/btrfs/qgroup.c spin_lock(&fs_info->trans_lock); fs_info 2657 fs/btrfs/qgroup.c spin_unlock(&fs_info->trans_lock); fs_info 2660 fs/btrfs/qgroup.c mutex_lock(&fs_info->qgroup_ioctl_lock); fs_info 2661 fs/btrfs/qgroup.c if (!test_bit(BTRFS_FS_QUOTA_ENABLED, &fs_info->flags)) fs_info 2664 fs/btrfs/qgroup.c quota_root = fs_info->quota_root; fs_info 2675 fs/btrfs/qgroup.c srcgroup = find_qgroup_rb(fs_info, *i_qgroups); fs_info 2717 fs/btrfs/qgroup.c spin_lock(&fs_info->qgroup_lock); fs_info 2719 fs/btrfs/qgroup.c dstgroup = add_qgroup_rb(fs_info, objectid); fs_info 2734 fs/btrfs/qgroup.c fs_info->qgroup_flags |= BTRFS_QGROUP_STATUS_FLAG_INCONSISTENT; fs_info 2735 fs/btrfs/qgroup.c btrfs_info(fs_info, fs_info 2743 fs/btrfs/qgroup.c srcgroup = find_qgroup_rb(fs_info, srcid); fs_info 2752 fs/btrfs/qgroup.c level_size = fs_info->nodesize; fs_info 2767 fs/btrfs/qgroup.c qgroup_dirty(fs_info, dstgroup); fs_info 2768 fs/btrfs/qgroup.c qgroup_dirty(fs_info, srcgroup); fs_info 2777 fs/btrfs/qgroup.c ret = add_relation_rb(fs_info, objectid, *i_qgroups); fs_info 2791 fs/btrfs/qgroup.c src = find_qgroup_rb(fs_info, i_qgroups[0]); fs_info 2792 fs/btrfs/qgroup.c dst = find_qgroup_rb(fs_info, i_qgroups[1]); fs_info 2809 fs/btrfs/qgroup.c src = find_qgroup_rb(fs_info, i_qgroups[0]); fs_info 2810 fs/btrfs/qgroup.c dst = find_qgroup_rb(fs_info, i_qgroups[1]); fs_info 2822 fs/btrfs/qgroup.c spin_unlock(&fs_info->qgroup_lock); fs_info 2825 fs/btrfs/qgroup.c mutex_unlock(&fs_info->qgroup_ioctl_lock); fs_info 2837 fs/btrfs/qgroup.c static bool qgroup_check_limits(struct btrfs_fs_info *fs_info, fs_info 2874 fs/btrfs/qgroup.c btrfs_commit_transaction_locksafe(fs_info); fs_info 2885 fs/btrfs/qgroup.c struct btrfs_fs_info *fs_info = root->fs_info; fs_info 2897 fs/btrfs/qgroup.c if (test_bit(BTRFS_FS_QUOTA_OVERRIDE, &fs_info->flags) && fs_info 2901 fs/btrfs/qgroup.c spin_lock(&fs_info->qgroup_lock); fs_info 2902 fs/btrfs/qgroup.c quota_root = fs_info->quota_root; fs_info 2906 fs/btrfs/qgroup.c qgroup = find_qgroup_rb(fs_info, ref_root); fs_info 2914 fs/btrfs/qgroup.c ulist_reinit(fs_info->qgroup_ulist); fs_info 2915 fs/btrfs/qgroup.c ret = ulist_add(fs_info->qgroup_ulist, qgroup->qgroupid, fs_info 2920 fs/btrfs/qgroup.c while ((unode = ulist_next(fs_info->qgroup_ulist, &uiter))) { fs_info 2926 fs/btrfs/qgroup.c if (enforce && !qgroup_check_limits(fs_info, qg, num_bytes)) { fs_info 2932 fs/btrfs/qgroup.c ret = ulist_add(fs_info->qgroup_ulist, fs_info 2944 fs/btrfs/qgroup.c while ((unode = ulist_next(fs_info->qgroup_ulist, &uiter))) { fs_info 2949 fs/btrfs/qgroup.c qgroup_rsv_add(fs_info, qg, num_bytes, type); fs_info 2953 fs/btrfs/qgroup.c spin_unlock(&fs_info->qgroup_lock); fs_info 2966 fs/btrfs/qgroup.c void btrfs_qgroup_free_refroot(struct btrfs_fs_info *fs_info, fs_info 2986 fs/btrfs/qgroup.c spin_lock(&fs_info->qgroup_lock); fs_info 2988 fs/btrfs/qgroup.c quota_root = fs_info->quota_root; fs_info 2992 fs/btrfs/qgroup.c qgroup = find_qgroup_rb(fs_info, ref_root); fs_info 3003 fs/btrfs/qgroup.c ulist_reinit(fs_info->qgroup_ulist); fs_info 3004 fs/btrfs/qgroup.c ret = ulist_add(fs_info->qgroup_ulist, qgroup->qgroupid, fs_info 3009 fs/btrfs/qgroup.c while ((unode = ulist_next(fs_info->qgroup_ulist, &uiter))) { fs_info 3015 fs/btrfs/qgroup.c qgroup_rsv_release(fs_info, qg, num_bytes, type); fs_info 3018 fs/btrfs/qgroup.c ret = ulist_add(fs_info->qgroup_ulist, fs_info 3027 fs/btrfs/qgroup.c spin_unlock(&fs_info->qgroup_lock); fs_info 3052 fs/btrfs/qgroup.c struct btrfs_fs_info *fs_info = trans->fs_info; fs_info 3061 fs/btrfs/qgroup.c mutex_lock(&fs_info->qgroup_rescan_lock); fs_info 3062 fs/btrfs/qgroup.c ret = btrfs_search_slot_for_read(fs_info->extent_root, fs_info 3063 fs/btrfs/qgroup.c &fs_info->qgroup_rescan_progress, fs_info 3066 fs/btrfs/qgroup.c btrfs_debug(fs_info, fs_info 3068 fs/btrfs/qgroup.c fs_info->qgroup_rescan_progress.objectid, fs_info 3069 fs/btrfs/qgroup.c fs_info->qgroup_rescan_progress.type, fs_info 3070 fs/btrfs/qgroup.c fs_info->qgroup_rescan_progress.offset, ret); fs_info 3081 fs/btrfs/qgroup.c fs_info->qgroup_rescan_progress.objectid = (u64)-1; fs_info 3083 fs/btrfs/qgroup.c mutex_unlock(&fs_info->qgroup_rescan_lock); fs_info 3090 fs/btrfs/qgroup.c fs_info->qgroup_rescan_progress.objectid = found.objectid + 1; fs_info 3095 fs/btrfs/qgroup.c mutex_unlock(&fs_info->qgroup_rescan_lock); fs_info 3100 fs/btrfs/qgroup.c mutex_unlock(&fs_info->qgroup_rescan_lock); fs_info 3108 fs/btrfs/qgroup.c num_bytes = fs_info->nodesize; fs_info 3112 fs/btrfs/qgroup.c ret = btrfs_find_all_roots(NULL, fs_info, found.objectid, 0, fs_info 3128 fs/btrfs/qgroup.c fs_info->qgroup_rescan_progress.objectid = (u64)-1; fs_info 3135 fs/btrfs/qgroup.c struct btrfs_fs_info *fs_info = container_of(work, struct btrfs_fs_info, fs_info 3153 fs/btrfs/qgroup.c while (!err && !btrfs_fs_closing(fs_info)) { fs_info 3154 fs/btrfs/qgroup.c trans = btrfs_start_transaction(fs_info->fs_root, 0); fs_info 3159 fs/btrfs/qgroup.c if (!test_bit(BTRFS_FS_QUOTA_ENABLED, &fs_info->flags)) { fs_info 3173 fs/btrfs/qgroup.c mutex_lock(&fs_info->qgroup_rescan_lock); fs_info 3175 fs/btrfs/qgroup.c fs_info->qgroup_flags & BTRFS_QGROUP_STATUS_FLAG_INCONSISTENT) { fs_info 3176 fs/btrfs/qgroup.c fs_info->qgroup_flags &= ~BTRFS_QGROUP_STATUS_FLAG_INCONSISTENT; fs_info 3178 fs/btrfs/qgroup.c fs_info->qgroup_flags |= BTRFS_QGROUP_STATUS_FLAG_INCONSISTENT; fs_info 3180 fs/btrfs/qgroup.c mutex_unlock(&fs_info->qgroup_rescan_lock); fs_info 3186 fs/btrfs/qgroup.c trans = btrfs_start_transaction(fs_info->quota_root, 1); fs_info 3190 fs/btrfs/qgroup.c btrfs_err(fs_info, fs_info 3195 fs/btrfs/qgroup.c mutex_lock(&fs_info->qgroup_rescan_lock); fs_info 3196 fs/btrfs/qgroup.c if (!btrfs_fs_closing(fs_info)) fs_info 3197 fs/btrfs/qgroup.c fs_info->qgroup_flags &= ~BTRFS_QGROUP_STATUS_FLAG_RESCAN; fs_info 3202 fs/btrfs/qgroup.c btrfs_err(fs_info, "fail to update qgroup status: %d", fs_info 3206 fs/btrfs/qgroup.c fs_info->qgroup_rescan_running = false; fs_info 3207 fs/btrfs/qgroup.c complete_all(&fs_info->qgroup_rescan_completion); fs_info 3208 fs/btrfs/qgroup.c mutex_unlock(&fs_info->qgroup_rescan_lock); fs_info 3215 fs/btrfs/qgroup.c if (btrfs_fs_closing(fs_info)) { fs_info 3216 fs/btrfs/qgroup.c btrfs_info(fs_info, "qgroup scan paused"); fs_info 3218 fs/btrfs/qgroup.c btrfs_info(fs_info, "qgroup scan completed%s", fs_info 3221 fs/btrfs/qgroup.c btrfs_err(fs_info, "qgroup scan failed with %d", err); fs_info 3230 fs/btrfs/qgroup.c qgroup_rescan_init(struct btrfs_fs_info *fs_info, u64 progress_objectid, fs_info 3237 fs/btrfs/qgroup.c if (!(fs_info->qgroup_flags & fs_info 3239 fs/btrfs/qgroup.c btrfs_warn(fs_info, fs_info 3242 fs/btrfs/qgroup.c } else if (!(fs_info->qgroup_flags & fs_info 3244 fs/btrfs/qgroup.c btrfs_warn(fs_info, fs_info 3253 fs/btrfs/qgroup.c mutex_lock(&fs_info->qgroup_rescan_lock); fs_info 3254 fs/btrfs/qgroup.c spin_lock(&fs_info->qgroup_lock); fs_info 3257 fs/btrfs/qgroup.c if (fs_info->qgroup_flags & BTRFS_QGROUP_STATUS_FLAG_RESCAN) { fs_info 3258 fs/btrfs/qgroup.c btrfs_warn(fs_info, fs_info 3261 fs/btrfs/qgroup.c } else if (!(fs_info->qgroup_flags & fs_info 3263 fs/btrfs/qgroup.c btrfs_warn(fs_info, fs_info 3269 fs/btrfs/qgroup.c spin_unlock(&fs_info->qgroup_lock); fs_info 3270 fs/btrfs/qgroup.c mutex_unlock(&fs_info->qgroup_rescan_lock); fs_info 3273 fs/btrfs/qgroup.c fs_info->qgroup_flags |= BTRFS_QGROUP_STATUS_FLAG_RESCAN; fs_info 3276 fs/btrfs/qgroup.c memset(&fs_info->qgroup_rescan_progress, 0, fs_info 3277 fs/btrfs/qgroup.c sizeof(fs_info->qgroup_rescan_progress)); fs_info 3278 fs/btrfs/qgroup.c fs_info->qgroup_rescan_progress.objectid = progress_objectid; fs_info 3279 fs/btrfs/qgroup.c init_completion(&fs_info->qgroup_rescan_completion); fs_info 3281 fs/btrfs/qgroup.c spin_unlock(&fs_info->qgroup_lock); fs_info 3282 fs/btrfs/qgroup.c mutex_unlock(&fs_info->qgroup_rescan_lock); fs_info 3284 fs/btrfs/qgroup.c memset(&fs_info->qgroup_rescan_work, 0, fs_info 3285 fs/btrfs/qgroup.c sizeof(fs_info->qgroup_rescan_work)); fs_info 3286 fs/btrfs/qgroup.c btrfs_init_work(&fs_info->qgroup_rescan_work, fs_info 3292 fs/btrfs/qgroup.c qgroup_rescan_zero_tracking(struct btrfs_fs_info *fs_info) fs_info 3297 fs/btrfs/qgroup.c spin_lock(&fs_info->qgroup_lock); fs_info 3299 fs/btrfs/qgroup.c for (n = rb_first(&fs_info->qgroup_tree); n; n = rb_next(n)) { fs_info 3305 fs/btrfs/qgroup.c qgroup_dirty(fs_info, qgroup); fs_info 3307 fs/btrfs/qgroup.c spin_unlock(&fs_info->qgroup_lock); fs_info 3311 fs/btrfs/qgroup.c btrfs_qgroup_rescan(struct btrfs_fs_info *fs_info) fs_info 3316 fs/btrfs/qgroup.c ret = qgroup_rescan_init(fs_info, 0, 1); fs_info 3331 fs/btrfs/qgroup.c trans = btrfs_join_transaction(fs_info->fs_root); fs_info 3333 fs/btrfs/qgroup.c fs_info->qgroup_flags &= ~BTRFS_QGROUP_STATUS_FLAG_RESCAN; fs_info 3338 fs/btrfs/qgroup.c fs_info->qgroup_flags &= ~BTRFS_QGROUP_STATUS_FLAG_RESCAN; fs_info 3342 fs/btrfs/qgroup.c qgroup_rescan_zero_tracking(fs_info); fs_info 3344 fs/btrfs/qgroup.c mutex_lock(&fs_info->qgroup_rescan_lock); fs_info 3345 fs/btrfs/qgroup.c fs_info->qgroup_rescan_running = true; fs_info 3346 fs/btrfs/qgroup.c btrfs_queue_work(fs_info->qgroup_rescan_workers, fs_info 3347 fs/btrfs/qgroup.c &fs_info->qgroup_rescan_work); fs_info 3348 fs/btrfs/qgroup.c mutex_unlock(&fs_info->qgroup_rescan_lock); fs_info 3353 fs/btrfs/qgroup.c int btrfs_qgroup_wait_for_completion(struct btrfs_fs_info *fs_info, fs_info 3359 fs/btrfs/qgroup.c mutex_lock(&fs_info->qgroup_rescan_lock); fs_info 3360 fs/btrfs/qgroup.c spin_lock(&fs_info->qgroup_lock); fs_info 3361 fs/btrfs/qgroup.c running = fs_info->qgroup_rescan_running; fs_info 3362 fs/btrfs/qgroup.c spin_unlock(&fs_info->qgroup_lock); fs_info 3363 fs/btrfs/qgroup.c mutex_unlock(&fs_info->qgroup_rescan_lock); fs_info 3370 fs/btrfs/qgroup.c &fs_info->qgroup_rescan_completion); fs_info 3372 fs/btrfs/qgroup.c wait_for_completion(&fs_info->qgroup_rescan_completion); fs_info 3382 fs/btrfs/qgroup.c btrfs_qgroup_rescan_resume(struct btrfs_fs_info *fs_info) fs_info 3384 fs/btrfs/qgroup.c if (fs_info->qgroup_flags & BTRFS_QGROUP_STATUS_FLAG_RESCAN) { fs_info 3385 fs/btrfs/qgroup.c mutex_lock(&fs_info->qgroup_rescan_lock); fs_info 3386 fs/btrfs/qgroup.c fs_info->qgroup_rescan_running = true; fs_info 3387 fs/btrfs/qgroup.c btrfs_queue_work(fs_info->qgroup_rescan_workers, fs_info 3388 fs/btrfs/qgroup.c &fs_info->qgroup_rescan_work); fs_info 3389 fs/btrfs/qgroup.c mutex_unlock(&fs_info->qgroup_rescan_lock); fs_info 3419 fs/btrfs/qgroup.c if (!test_bit(BTRFS_FS_QUOTA_ENABLED, &root->fs_info->flags) || fs_info 3456 fs/btrfs/qgroup.c btrfs_qgroup_free_refroot(root->fs_info, root->root_key.objectid, fs_info 3474 fs/btrfs/qgroup.c len = round_up(start + len, root->fs_info->sectorsize); fs_info 3475 fs/btrfs/qgroup.c start = round_down(start, root->fs_info->sectorsize); fs_info 3509 fs/btrfs/qgroup.c btrfs_qgroup_free_refroot(root->fs_info, root->root_key.objectid, freed, fs_info 3526 fs/btrfs/qgroup.c &BTRFS_I(inode)->root->fs_info->flags)) fs_info 3544 fs/btrfs/qgroup.c btrfs_qgroup_free_refroot(BTRFS_I(inode)->root->fs_info, fs_info 3634 fs/btrfs/qgroup.c struct btrfs_fs_info *fs_info = root->fs_info; fs_info 3637 fs/btrfs/qgroup.c if (!test_bit(BTRFS_FS_QUOTA_ENABLED, &fs_info->flags) || fs_info 3641 fs/btrfs/qgroup.c BUG_ON(num_bytes != round_down(num_bytes, fs_info->nodesize)); fs_info 3660 fs/btrfs/qgroup.c struct btrfs_fs_info *fs_info = root->fs_info; fs_info 3662 fs/btrfs/qgroup.c if (!test_bit(BTRFS_FS_QUOTA_ENABLED, &fs_info->flags) || fs_info 3669 fs/btrfs/qgroup.c btrfs_qgroup_free_refroot(fs_info, root->root_key.objectid, (u64)-1, fs_info 3676 fs/btrfs/qgroup.c struct btrfs_fs_info *fs_info = root->fs_info; fs_info 3678 fs/btrfs/qgroup.c if (!test_bit(BTRFS_FS_QUOTA_ENABLED, &fs_info->flags) || fs_info 3688 fs/btrfs/qgroup.c BUG_ON(num_bytes != round_down(num_bytes, fs_info->nodesize)); fs_info 3690 fs/btrfs/qgroup.c btrfs_qgroup_free_refroot(fs_info, root->root_key.objectid, fs_info 3694 fs/btrfs/qgroup.c static void qgroup_convert_meta(struct btrfs_fs_info *fs_info, u64 ref_root, fs_info 3697 fs/btrfs/qgroup.c struct btrfs_root *quota_root = fs_info->quota_root; fs_info 3708 fs/btrfs/qgroup.c spin_lock(&fs_info->qgroup_lock); fs_info 3709 fs/btrfs/qgroup.c qgroup = find_qgroup_rb(fs_info, ref_root); fs_info 3712 fs/btrfs/qgroup.c ulist_reinit(fs_info->qgroup_ulist); fs_info 3713 fs/btrfs/qgroup.c ret = ulist_add(fs_info->qgroup_ulist, qgroup->qgroupid, fs_info 3718 fs/btrfs/qgroup.c while ((unode = ulist_next(fs_info->qgroup_ulist, &uiter))) { fs_info 3724 fs/btrfs/qgroup.c qgroup_rsv_release(fs_info, qg, num_bytes, fs_info 3726 fs/btrfs/qgroup.c qgroup_rsv_add(fs_info, qg, num_bytes, fs_info 3729 fs/btrfs/qgroup.c ret = ulist_add(fs_info->qgroup_ulist, fs_info 3737 fs/btrfs/qgroup.c spin_unlock(&fs_info->qgroup_lock); fs_info 3742 fs/btrfs/qgroup.c struct btrfs_fs_info *fs_info = root->fs_info; fs_info 3744 fs/btrfs/qgroup.c if (!test_bit(BTRFS_FS_QUOTA_ENABLED, &fs_info->flags) || fs_info 3751 fs/btrfs/qgroup.c qgroup_convert_meta(fs_info, root->root_key.objectid, num_bytes); fs_info 3773 fs/btrfs/qgroup.c btrfs_warn(BTRFS_I(inode)->root->fs_info, fs_info 3777 fs/btrfs/qgroup.c btrfs_qgroup_free_refroot(BTRFS_I(inode)->root->fs_info, fs_info 3844 fs/btrfs/qgroup.c struct btrfs_fs_info *fs_info = subvol_root->fs_info; fs_info 3852 fs/btrfs/qgroup.c if (!test_bit(BTRFS_FS_QUOTA_ENABLED, &fs_info->flags)) fs_info 3857 fs/btrfs/qgroup.c btrfs_err_rl(fs_info, fs_info 3936 fs/btrfs/qgroup.c fs_info->qgroup_flags |= fs_info 3951 fs/btrfs/qgroup.c struct btrfs_fs_info *fs_info = root->fs_info; fs_info 3962 fs/btrfs/qgroup.c if (!test_bit(BTRFS_FS_QUOTA_ENABLED, &fs_info->flags)) fs_info 4001 fs/btrfs/qgroup.c reloc_eb = read_tree_block(fs_info, block->reloc_bytenr, fs_info 4021 fs/btrfs/qgroup.c btrfs_err_rl(fs_info, fs_info 4024 fs/btrfs/qgroup.c fs_info->qgroup_flags |= BTRFS_QGROUP_STATUS_FLAG_INCONSISTENT; fs_info 235 fs/btrfs/qgroup.h int btrfs_quota_enable(struct btrfs_fs_info *fs_info); fs_info 236 fs/btrfs/qgroup.h int btrfs_quota_disable(struct btrfs_fs_info *fs_info); fs_info 237 fs/btrfs/qgroup.h int btrfs_qgroup_rescan(struct btrfs_fs_info *fs_info); fs_info 238 fs/btrfs/qgroup.h void btrfs_qgroup_rescan_resume(struct btrfs_fs_info *fs_info); fs_info 239 fs/btrfs/qgroup.h int btrfs_qgroup_wait_for_completion(struct btrfs_fs_info *fs_info, fs_info 249 fs/btrfs/qgroup.h int btrfs_read_qgroup_config(struct btrfs_fs_info *fs_info); fs_info 250 fs/btrfs/qgroup.h void btrfs_free_qgroup_config(struct btrfs_fs_info *fs_info); fs_info 265 fs/btrfs/qgroup.h struct btrfs_fs_info *fs_info, fs_info 290 fs/btrfs/qgroup.h int btrfs_qgroup_trace_extent_post(struct btrfs_fs_info *fs_info, fs_info 337 fs/btrfs/qgroup.h void btrfs_qgroup_free_refroot(struct btrfs_fs_info *fs_info, fs_info 342 fs/btrfs/qgroup.h int btrfs_verify_qgroup_counts(struct btrfs_fs_info *fs_info, u64 qgroupid, fs_info 62 fs/btrfs/raid56.c struct btrfs_fs_info *fs_info; fs_info 194 fs/btrfs/raid56.c btrfs_queue_work(rbio->fs_info->rmw_workers, &rbio->work); fs_info 358 fs/btrfs/raid56.c table = rbio->fs_info->stripe_hash_table; fs_info 413 fs/btrfs/raid56.c table = rbio->fs_info->stripe_hash_table; fs_info 473 fs/btrfs/raid56.c table = rbio->fs_info->stripe_hash_table; fs_info 675 fs/btrfs/raid56.c struct btrfs_stripe_hash *h = rbio->fs_info->stripe_hash_table->table + bucket; fs_info 766 fs/btrfs/raid56.c h = rbio->fs_info->stripe_hash_table->table + bucket; fs_info 880 fs/btrfs/raid56.c btrfs_bio_counter_sub(rbio->fs_info, rbio->generic_bio_cnt); fs_info 975 fs/btrfs/raid56.c static struct btrfs_raid_bio *alloc_rbio(struct btrfs_fs_info *fs_info, fs_info 1003 fs/btrfs/raid56.c rbio->fs_info = fs_info; fs_info 1586 fs/btrfs/raid56.c btrfs_bio_wq_end_io(rbio->fs_info, bio, BTRFS_WQ_ENDIO_RAID56); fs_info 1757 fs/btrfs/raid56.c int raid56_parity_write(struct btrfs_fs_info *fs_info, struct bio *bio, fs_info 1765 fs/btrfs/raid56.c rbio = alloc_rbio(fs_info, bbio, stripe_len); fs_info 1774 fs/btrfs/raid56.c btrfs_bio_counter_inc_noblocked(fs_info); fs_info 1784 fs/btrfs/raid56.c btrfs_bio_counter_dec(fs_info); fs_info 1788 fs/btrfs/raid56.c cb = blk_check_plugged(btrfs_raid_unplug, fs_info, sizeof(*plug)); fs_info 1792 fs/btrfs/raid56.c plug->info = fs_info; fs_info 1800 fs/btrfs/raid56.c btrfs_bio_counter_dec(fs_info); fs_info 2132 fs/btrfs/raid56.c btrfs_bio_wq_end_io(rbio->fs_info, bio, BTRFS_WQ_ENDIO_RAID56); fs_info 2156 fs/btrfs/raid56.c int raid56_parity_recover(struct btrfs_fs_info *fs_info, struct bio *bio, fs_info 2168 fs/btrfs/raid56.c rbio = alloc_rbio(fs_info, bbio, stripe_len); fs_info 2181 fs/btrfs/raid56.c btrfs_warn(fs_info, fs_info 2192 fs/btrfs/raid56.c btrfs_bio_counter_inc_noblocked(fs_info); fs_info 2262 fs/btrfs/raid56.c raid56_parity_alloc_scrub_rbio(struct btrfs_fs_info *fs_info, struct bio *bio, fs_info 2270 fs/btrfs/raid56.c rbio = alloc_rbio(fs_info, bbio, stripe_len); fs_info 2295 fs/btrfs/raid56.c ASSERT(fs_info->sectorsize == PAGE_SIZE); fs_info 2687 fs/btrfs/raid56.c btrfs_bio_wq_end_io(rbio->fs_info, bio, BTRFS_WQ_ENDIO_RAID56); fs_info 2723 fs/btrfs/raid56.c raid56_alloc_missing_rbio(struct btrfs_fs_info *fs_info, struct bio *bio, fs_info 2728 fs/btrfs/raid56.c rbio = alloc_rbio(fs_info, bbio, length); fs_info 33 fs/btrfs/raid56.h int raid56_parity_recover(struct btrfs_fs_info *fs_info, struct bio *bio, fs_info 36 fs/btrfs/raid56.h int raid56_parity_write(struct btrfs_fs_info *fs_info, struct bio *bio, fs_info 43 fs/btrfs/raid56.h raid56_parity_alloc_scrub_rbio(struct btrfs_fs_info *fs_info, struct bio *bio, fs_info 50 fs/btrfs/raid56.h raid56_alloc_missing_rbio(struct btrfs_fs_info *fs_info, struct bio *bio, fs_info 80 fs/btrfs/reada.c struct btrfs_fs_info *fs_info; fs_info 86 fs/btrfs/reada.c static void reada_start_machine(struct btrfs_fs_info *fs_info); fs_info 87 fs/btrfs/reada.c static void __reada_start_machine(struct btrfs_fs_info *fs_info); fs_info 94 fs/btrfs/reada.c static void __readahead_hook(struct btrfs_fs_info *fs_info, fs_info 159 fs/btrfs/reada.c btrfs_debug(fs_info, fs_info 192 fs/btrfs/reada.c reada_extent_put(fs_info, re); /* one ref for each entry */ fs_info 200 fs/btrfs/reada.c struct btrfs_fs_info *fs_info = eb->fs_info; fs_info 205 fs/btrfs/reada.c spin_lock(&fs_info->reada_lock); fs_info 206 fs/btrfs/reada.c re = radix_tree_lookup(&fs_info->reada_tree, fs_info 210 fs/btrfs/reada.c spin_unlock(&fs_info->reada_lock); fs_info 216 fs/btrfs/reada.c __readahead_hook(fs_info, re, eb, err); fs_info 217 fs/btrfs/reada.c reada_extent_put(fs_info, re); /* our ref */ fs_info 220 fs/btrfs/reada.c reada_start_machine(fs_info); fs_info 227 fs/btrfs/reada.c struct btrfs_fs_info *fs_info = dev->fs_info; fs_info 236 fs/btrfs/reada.c spin_lock(&fs_info->reada_lock); fs_info 241 fs/btrfs/reada.c spin_unlock(&fs_info->reada_lock); fs_info 245 fs/btrfs/reada.c spin_unlock(&fs_info->reada_lock); fs_info 247 fs/btrfs/reada.c cache = btrfs_lookup_block_group(fs_info, logical); fs_info 279 fs/btrfs/reada.c spin_lock(&fs_info->reada_lock); fs_info 293 fs/btrfs/reada.c spin_unlock(&fs_info->reada_lock); fs_info 299 fs/btrfs/reada.c static struct reada_extent *reada_find_extent(struct btrfs_fs_info *fs_info, fs_info 316 fs/btrfs/reada.c spin_lock(&fs_info->reada_lock); fs_info 317 fs/btrfs/reada.c re = radix_tree_lookup(&fs_info->reada_tree, index); fs_info 320 fs/btrfs/reada.c spin_unlock(&fs_info->reada_lock); fs_info 338 fs/btrfs/reada.c length = fs_info->nodesize; fs_info 339 fs/btrfs/reada.c ret = btrfs_map_block(fs_info, BTRFS_MAP_GET_READ_MIRRORS, logical, fs_info 341 fs/btrfs/reada.c if (ret || !bbio || length < fs_info->nodesize) fs_info 345 fs/btrfs/reada.c btrfs_err(fs_info, fs_info 371 fs/btrfs/reada.c spin_lock(&fs_info->reada_lock); fs_info 373 fs/btrfs/reada.c spin_unlock(&fs_info->reada_lock); fs_info 381 fs/btrfs/reada.c down_read(&fs_info->dev_replace.rwsem); fs_info 384 fs/btrfs/reada.c up_read(&fs_info->dev_replace.rwsem); fs_info 388 fs/btrfs/reada.c spin_lock(&fs_info->reada_lock); fs_info 389 fs/btrfs/reada.c ret = radix_tree_insert(&fs_info->reada_tree, index, re); fs_info 391 fs/btrfs/reada.c re_exist = radix_tree_lookup(&fs_info->reada_tree, index); fs_info 393 fs/btrfs/reada.c spin_unlock(&fs_info->reada_lock); fs_info 395 fs/btrfs/reada.c up_read(&fs_info->dev_replace.rwsem); fs_info 399 fs/btrfs/reada.c spin_unlock(&fs_info->reada_lock); fs_info 401 fs/btrfs/reada.c up_read(&fs_info->dev_replace.rwsem); fs_info 407 fs/btrfs/reada.c &fs_info->dev_replace); fs_info 425 fs/btrfs/reada.c dev == fs_info->dev_replace.tgtdev) { fs_info 441 fs/btrfs/reada.c radix_tree_delete(&fs_info->reada_tree, index); fs_info 442 fs/btrfs/reada.c spin_unlock(&fs_info->reada_lock); fs_info 443 fs/btrfs/reada.c up_read(&fs_info->dev_replace.rwsem); fs_info 448 fs/btrfs/reada.c spin_unlock(&fs_info->reada_lock); fs_info 449 fs/btrfs/reada.c up_read(&fs_info->dev_replace.rwsem); fs_info 474 fs/btrfs/reada.c spin_lock(&fs_info->reada_lock); fs_info 476 fs/btrfs/reada.c spin_unlock(&fs_info->reada_lock); fs_info 483 fs/btrfs/reada.c static void reada_extent_put(struct btrfs_fs_info *fs_info, fs_info 489 fs/btrfs/reada.c spin_lock(&fs_info->reada_lock); fs_info 491 fs/btrfs/reada.c spin_unlock(&fs_info->reada_lock); fs_info 495 fs/btrfs/reada.c radix_tree_delete(&fs_info->reada_tree, index); fs_info 502 fs/btrfs/reada.c spin_unlock(&fs_info->reada_lock); fs_info 517 fs/btrfs/reada.c spin_lock(&fs_info->reada_lock); fs_info 519 fs/btrfs/reada.c spin_unlock(&fs_info->reada_lock); fs_info 546 fs/btrfs/reada.c struct btrfs_fs_info *fs_info = rc->fs_info; fs_info 551 fs/btrfs/reada.c re = reada_find_extent(fs_info, logical, top); fs_info 557 fs/btrfs/reada.c reada_extent_put(fs_info, re); fs_info 642 fs/btrfs/reada.c static int reada_tree_block_flagged(struct btrfs_fs_info *fs_info, u64 bytenr, fs_info 648 fs/btrfs/reada.c buf = btrfs_find_create_tree_block(fs_info, bytenr); fs_info 673 fs/btrfs/reada.c struct btrfs_fs_info *fs_info = dev->fs_info; fs_info 681 fs/btrfs/reada.c spin_lock(&fs_info->reada_lock); fs_info 685 fs/btrfs/reada.c spin_unlock(&fs_info->reada_lock); fs_info 699 fs/btrfs/reada.c spin_unlock(&fs_info->reada_lock); fs_info 707 fs/btrfs/reada.c spin_unlock(&fs_info->reada_lock); fs_info 710 fs/btrfs/reada.c dev->reada_next = re->logical + fs_info->nodesize; fs_info 713 fs/btrfs/reada.c spin_unlock(&fs_info->reada_lock); fs_info 718 fs/btrfs/reada.c reada_extent_put(fs_info, re); fs_info 736 fs/btrfs/reada.c ret = reada_tree_block_flagged(fs_info, logical, mirror_num, &eb); fs_info 738 fs/btrfs/reada.c __readahead_hook(fs_info, re, NULL, ret); fs_info 740 fs/btrfs/reada.c __readahead_hook(fs_info, re, eb, ret); fs_info 746 fs/btrfs/reada.c reada_extent_put(fs_info, re); fs_info 762 fs/btrfs/reada.c __reada_start_machine(rmw->fs_info); fs_info 765 fs/btrfs/reada.c atomic_dec(&rmw->fs_info->reada_works_cnt); fs_info 770 fs/btrfs/reada.c static void __reada_start_machine(struct btrfs_fs_info *fs_info) fs_info 773 fs/btrfs/reada.c struct btrfs_fs_devices *fs_devices = fs_info->fs_devices; fs_info 806 fs/btrfs/reada.c reada_start_machine(fs_info); fs_info 807 fs/btrfs/reada.c if (atomic_read(&fs_info->reada_works_cnt) > fs_info 813 fs/btrfs/reada.c static void reada_start_machine(struct btrfs_fs_info *fs_info) fs_info 823 fs/btrfs/reada.c rmw->fs_info = fs_info; fs_info 825 fs/btrfs/reada.c btrfs_queue_work(fs_info->readahead_workers, &rmw->work); fs_info 826 fs/btrfs/reada.c atomic_inc(&fs_info->reada_works_cnt); fs_info 830 fs/btrfs/reada.c static void dump_devs(struct btrfs_fs_info *fs_info, int all) fs_info 833 fs/btrfs/reada.c struct btrfs_fs_devices *fs_devices = fs_info->fs_devices; fs_info 840 fs/btrfs/reada.c spin_lock(&fs_info->reada_lock); fs_info 842 fs/btrfs/reada.c btrfs_debug(fs_info, "dev %lld has %d in flight", device->devid, fs_info 874 fs/btrfs/reada.c re->logical, fs_info->nodesize, fs_info 898 fs/btrfs/reada.c ret = radix_tree_gang_lookup(&fs_info->reada_tree, (void **)&re, fs_info 907 fs/btrfs/reada.c re->logical, fs_info->nodesize, fs_info 921 fs/btrfs/reada.c spin_unlock(&fs_info->reada_lock); fs_info 946 fs/btrfs/reada.c rc->fs_info = root->fs_info; fs_info 965 fs/btrfs/reada.c reada_start_machine(root->fs_info); fs_info 974 fs/btrfs/reada.c struct btrfs_fs_info *fs_info = rc->fs_info; fs_info 977 fs/btrfs/reada.c if (!atomic_read(&fs_info->reada_works_cnt)) fs_info 978 fs/btrfs/reada.c reada_start_machine(fs_info); fs_info 981 fs/btrfs/reada.c dump_devs(fs_info, atomic_read(&rc->elems) < 10 ? 1 : 0); fs_info 984 fs/btrfs/reada.c dump_devs(fs_info, atomic_read(&rc->elems) < 10 ? 1 : 0); fs_info 994 fs/btrfs/reada.c struct btrfs_fs_info *fs_info = rc->fs_info; fs_info 997 fs/btrfs/reada.c if (!atomic_read(&fs_info->reada_works_cnt)) fs_info 998 fs/btrfs/reada.c reada_start_machine(fs_info); fs_info 211 fs/btrfs/ref-verify.c static void __print_stack_trace(struct btrfs_fs_info *fs_info, fs_info 215 fs/btrfs/ref-verify.c btrfs_err(fs_info, " ref-verify: no stacktrace"); fs_info 225 fs/btrfs/ref-verify.c static void inline __print_stack_trace(struct btrfs_fs_info *fs_info, fs_info 228 fs/btrfs/ref-verify.c btrfs_err(fs_info, " ref-verify: no stacktrace support"); fs_info 260 fs/btrfs/ref-verify.c static struct block_entry *add_block_entry(struct btrfs_fs_info *fs_info, fs_info 280 fs/btrfs/ref-verify.c spin_lock(&fs_info->ref_verify_lock); fs_info 281 fs/btrfs/ref-verify.c exist = insert_block_entry(&fs_info->block_tree, be); fs_info 307 fs/btrfs/ref-verify.c static int add_tree_block(struct btrfs_fs_info *fs_info, u64 ref_root, fs_info 327 fs/btrfs/ref-verify.c be = add_block_entry(fs_info, bytenr, fs_info->nodesize, ref_root); fs_info 347 fs/btrfs/ref-verify.c spin_unlock(&fs_info->ref_verify_lock); fs_info 352 fs/btrfs/ref-verify.c static int add_shared_data_ref(struct btrfs_fs_info *fs_info, fs_info 362 fs/btrfs/ref-verify.c be = add_block_entry(fs_info, bytenr, num_bytes, 0); fs_info 372 fs/btrfs/ref-verify.c spin_unlock(&fs_info->ref_verify_lock); fs_info 373 fs/btrfs/ref-verify.c btrfs_err(fs_info, "existing shared ref when reading from disk?"); fs_info 377 fs/btrfs/ref-verify.c spin_unlock(&fs_info->ref_verify_lock); fs_info 381 fs/btrfs/ref-verify.c static int add_extent_data_ref(struct btrfs_fs_info *fs_info, fs_info 397 fs/btrfs/ref-verify.c be = add_block_entry(fs_info, bytenr, num_bytes, ref_root); fs_info 410 fs/btrfs/ref-verify.c spin_unlock(&fs_info->ref_verify_lock); fs_info 411 fs/btrfs/ref-verify.c btrfs_err(fs_info, "existing ref when reading from disk?"); fs_info 418 fs/btrfs/ref-verify.c spin_unlock(&fs_info->ref_verify_lock); fs_info 419 fs/btrfs/ref-verify.c btrfs_err(fs_info, "missing root in new block entry?"); fs_info 423 fs/btrfs/ref-verify.c spin_unlock(&fs_info->ref_verify_lock); fs_info 427 fs/btrfs/ref-verify.c static int process_extent_item(struct btrfs_fs_info *fs_info, fs_info 465 fs/btrfs/ref-verify.c ret = add_tree_block(fs_info, offset, 0, key->objectid, fs_info 469 fs/btrfs/ref-verify.c ret = add_tree_block(fs_info, 0, offset, key->objectid, fs_info 474 fs/btrfs/ref-verify.c ret = add_extent_data_ref(fs_info, leaf, dref, fs_info 480 fs/btrfs/ref-verify.c ret = add_shared_data_ref(fs_info, offset, count, fs_info 484 fs/btrfs/ref-verify.c btrfs_err(fs_info, "invalid key type in iref"); fs_info 498 fs/btrfs/ref-verify.c struct btrfs_fs_info *fs_info = root->fs_info; fs_info 515 fs/btrfs/ref-verify.c ret = process_extent_item(fs_info, path, &key, i, fs_info 519 fs/btrfs/ref-verify.c ret = add_tree_block(fs_info, key.offset, 0, fs_info 523 fs/btrfs/ref-verify.c ret = add_tree_block(fs_info, 0, key.offset, fs_info 529 fs/btrfs/ref-verify.c ret = add_extent_data_ref(fs_info, leaf, dref, *bytenr, fs_info 536 fs/btrfs/ref-verify.c ret = add_shared_data_ref(fs_info, key.offset, count, fs_info 552 fs/btrfs/ref-verify.c struct btrfs_fs_info *fs_info = root->fs_info; fs_info 567 fs/btrfs/ref-verify.c eb = read_tree_block(fs_info, block_bytenr, gen, fs_info 616 fs/btrfs/ref-verify.c static void dump_ref_action(struct btrfs_fs_info *fs_info, fs_info 619 fs/btrfs/ref-verify.c btrfs_err(fs_info, fs_info 623 fs/btrfs/ref-verify.c __print_stack_trace(fs_info, ra); fs_info 630 fs/btrfs/ref-verify.c static void dump_block_entry(struct btrfs_fs_info *fs_info, fs_info 638 fs/btrfs/ref-verify.c btrfs_err(fs_info, fs_info 645 fs/btrfs/ref-verify.c btrfs_err(fs_info, fs_info 653 fs/btrfs/ref-verify.c btrfs_err(fs_info, " root entry %llu, num_refs %llu", fs_info 658 fs/btrfs/ref-verify.c dump_ref_action(fs_info, ra); fs_info 669 fs/btrfs/ref-verify.c int btrfs_ref_tree_mod(struct btrfs_fs_info *fs_info, fs_info 686 fs/btrfs/ref-verify.c if (!btrfs_test_opt(fs_info, REF_VERIFY)) fs_info 745 fs/btrfs/ref-verify.c be = add_block_entry(fs_info, bytenr, num_bytes, ref_root); fs_info 757 fs/btrfs/ref-verify.c btrfs_err(fs_info, fs_info 759 fs/btrfs/ref-verify.c dump_block_entry(fs_info, be); fs_info 760 fs/btrfs/ref-verify.c dump_ref_action(fs_info, ra); fs_info 795 fs/btrfs/ref-verify.c spin_lock(&fs_info->ref_verify_lock); fs_info 796 fs/btrfs/ref-verify.c be = lookup_block_entry(&fs_info->block_tree, bytenr); fs_info 798 fs/btrfs/ref-verify.c btrfs_err(fs_info, fs_info 802 fs/btrfs/ref-verify.c dump_ref_action(fs_info, ra); fs_info 821 fs/btrfs/ref-verify.c btrfs_err(fs_info, fs_info 823 fs/btrfs/ref-verify.c dump_block_entry(fs_info, be); fs_info 824 fs/btrfs/ref-verify.c dump_ref_action(fs_info, ra); fs_info 837 fs/btrfs/ref-verify.c btrfs_err(fs_info, fs_info 839 fs/btrfs/ref-verify.c dump_block_entry(fs_info, be); fs_info 840 fs/btrfs/ref-verify.c dump_ref_action(fs_info, ra); fs_info 848 fs/btrfs/ref-verify.c btrfs_err(fs_info, fs_info 850 fs/btrfs/ref-verify.c dump_block_entry(fs_info, be); fs_info 851 fs/btrfs/ref-verify.c dump_ref_action(fs_info, ra); fs_info 866 fs/btrfs/ref-verify.c btrfs_err(fs_info, "failed to find root %llu for %llu", fs_info 868 fs/btrfs/ref-verify.c dump_block_entry(fs_info, be); fs_info 869 fs/btrfs/ref-verify.c dump_ref_action(fs_info, ra); fs_info 886 fs/btrfs/ref-verify.c spin_unlock(&fs_info->ref_verify_lock); fs_info 889 fs/btrfs/ref-verify.c btrfs_clear_opt(fs_info->mount_opt, REF_VERIFY); fs_info 894 fs/btrfs/ref-verify.c void btrfs_free_ref_cache(struct btrfs_fs_info *fs_info) fs_info 899 fs/btrfs/ref-verify.c if (!btrfs_test_opt(fs_info, REF_VERIFY)) fs_info 902 fs/btrfs/ref-verify.c spin_lock(&fs_info->ref_verify_lock); fs_info 903 fs/btrfs/ref-verify.c while ((n = rb_first(&fs_info->block_tree))) { fs_info 905 fs/btrfs/ref-verify.c rb_erase(&be->node, &fs_info->block_tree); fs_info 907 fs/btrfs/ref-verify.c cond_resched_lock(&fs_info->ref_verify_lock); fs_info 909 fs/btrfs/ref-verify.c spin_unlock(&fs_info->ref_verify_lock); fs_info 912 fs/btrfs/ref-verify.c void btrfs_free_ref_tree_range(struct btrfs_fs_info *fs_info, u64 start, fs_info 918 fs/btrfs/ref-verify.c if (!btrfs_test_opt(fs_info, REF_VERIFY)) fs_info 921 fs/btrfs/ref-verify.c spin_lock(&fs_info->ref_verify_lock); fs_info 922 fs/btrfs/ref-verify.c n = fs_info->block_tree.rb_node; fs_info 945 fs/btrfs/ref-verify.c spin_unlock(&fs_info->ref_verify_lock); fs_info 954 fs/btrfs/ref-verify.c btrfs_err(fs_info, fs_info 957 fs/btrfs/ref-verify.c dump_block_entry(fs_info, be); fs_info 965 fs/btrfs/ref-verify.c btrfs_err(fs_info, fs_info 968 fs/btrfs/ref-verify.c dump_block_entry(fs_info, be); fs_info 970 fs/btrfs/ref-verify.c rb_erase(&be->node, &fs_info->block_tree); fs_info 973 fs/btrfs/ref-verify.c spin_unlock(&fs_info->ref_verify_lock); fs_info 977 fs/btrfs/ref-verify.c int btrfs_build_ref_tree(struct btrfs_fs_info *fs_info) fs_info 984 fs/btrfs/ref-verify.c if (!btrfs_test_opt(fs_info, REF_VERIFY)) fs_info 991 fs/btrfs/ref-verify.c eb = btrfs_read_lock_root_node(fs_info->extent_root); fs_info 1005 fs/btrfs/ref-verify.c ret = walk_down_tree(fs_info->extent_root, path, level, fs_info 1018 fs/btrfs/ref-verify.c btrfs_clear_opt(fs_info->mount_opt, REF_VERIFY); fs_info 1019 fs/btrfs/ref-verify.c btrfs_free_ref_cache(fs_info); fs_info 10 fs/btrfs/ref-verify.h int btrfs_build_ref_tree(struct btrfs_fs_info *fs_info); fs_info 11 fs/btrfs/ref-verify.h void btrfs_free_ref_cache(struct btrfs_fs_info *fs_info); fs_info 12 fs/btrfs/ref-verify.h int btrfs_ref_tree_mod(struct btrfs_fs_info *fs_info, fs_info 14 fs/btrfs/ref-verify.h void btrfs_free_ref_tree_range(struct btrfs_fs_info *fs_info, u64 start, fs_info 17 fs/btrfs/ref-verify.h static inline void btrfs_init_ref_verify(struct btrfs_fs_info *fs_info) fs_info 19 fs/btrfs/ref-verify.h spin_lock_init(&fs_info->ref_verify_lock); fs_info 20 fs/btrfs/ref-verify.h fs_info->block_tree = RB_ROOT; fs_info 23 fs/btrfs/ref-verify.h static inline int btrfs_build_ref_tree(struct btrfs_fs_info *fs_info) fs_info 28 fs/btrfs/ref-verify.h static inline void btrfs_free_ref_cache(struct btrfs_fs_info *fs_info) fs_info 32 fs/btrfs/ref-verify.h static inline int btrfs_ref_tree_mod(struct btrfs_fs_info *fs_info, fs_info 38 fs/btrfs/ref-verify.h static inline void btrfs_free_ref_tree_range(struct btrfs_fs_info *fs_info, fs_info 43 fs/btrfs/ref-verify.h static inline void btrfs_init_ref_verify(struct btrfs_fs_info *fs_info) fs_info 327 fs/btrfs/relocation.c struct btrfs_fs_info *fs_info = NULL; fs_info 331 fs/btrfs/relocation.c fs_info = bnode->root->fs_info; fs_info 332 fs/btrfs/relocation.c btrfs_panic(fs_info, errno, fs_info 565 fs/btrfs/relocation.c root->fs_info->running_transaction->transid) fs_info 610 fs/btrfs/relocation.c static struct btrfs_root *read_fs_root(struct btrfs_fs_info *fs_info, fs_info 622 fs/btrfs/relocation.c return btrfs_get_fs_root(fs_info, &key, false); fs_info 638 fs/btrfs/relocation.c btrfs_print_v0_err(leaf->fs_info); fs_info 639 fs/btrfs/relocation.c btrfs_handle_fs_error(leaf->fs_info, -EINVAL, NULL); fs_info 876 fs/btrfs/relocation.c btrfs_print_v0_err(rc->extent_root->fs_info); fs_info 877 fs/btrfs/relocation.c btrfs_handle_fs_error(rc->extent_root->fs_info, err, fs_info 889 fs/btrfs/relocation.c root = read_fs_root(rc->extent_root->fs_info, key.offset); fs_info 927 fs/btrfs/relocation.c btrfs_err(root->fs_info, fs_info 1292 fs/btrfs/relocation.c struct btrfs_fs_info *fs_info = root->fs_info; fs_info 1295 fs/btrfs/relocation.c struct reloc_control *rc = fs_info->reloc_ctl; fs_info 1309 fs/btrfs/relocation.c btrfs_panic(fs_info, -EEXIST, fs_info 1324 fs/btrfs/relocation.c struct btrfs_fs_info *fs_info = root->fs_info; fs_info 1327 fs/btrfs/relocation.c struct reloc_control *rc = fs_info->reloc_ctl; fs_info 1344 fs/btrfs/relocation.c spin_lock(&fs_info->trans_lock); fs_info 1346 fs/btrfs/relocation.c spin_unlock(&fs_info->trans_lock); fs_info 1356 fs/btrfs/relocation.c struct btrfs_fs_info *fs_info = root->fs_info; fs_info 1359 fs/btrfs/relocation.c struct reloc_control *rc = fs_info->reloc_ctl; fs_info 1387 fs/btrfs/relocation.c struct btrfs_fs_info *fs_info = root->fs_info; fs_info 1446 fs/btrfs/relocation.c ret = btrfs_insert_root(trans, fs_info->tree_root, fs_info 1451 fs/btrfs/relocation.c reloc_root = btrfs_read_fs_root(fs_info->tree_root, &root_key); fs_info 1464 fs/btrfs/relocation.c struct btrfs_fs_info *fs_info = root->fs_info; fs_info 1466 fs/btrfs/relocation.c struct reloc_control *rc = fs_info->reloc_ctl; fs_info 1509 fs/btrfs/relocation.c struct btrfs_fs_info *fs_info = root->fs_info; fs_info 1521 fs/btrfs/relocation.c if (fs_info->reloc_ctl->merge_reloc_tree && fs_info 1539 fs/btrfs/relocation.c ret = btrfs_update_root(trans, fs_info->tree_root, fs_info 1667 fs/btrfs/relocation.c struct btrfs_fs_info *fs_info = root->fs_info; fs_info 1726 fs/btrfs/relocation.c fs_info->sectorsize)); fs_info 1727 fs/btrfs/relocation.c WARN_ON(!IS_ALIGNED(end, fs_info->sectorsize)); fs_info 1810 fs/btrfs/relocation.c struct btrfs_fs_info *fs_info = dest->fs_info; fs_info 1873 fs/btrfs/relocation.c blocksize = fs_info->nodesize; fs_info 1900 fs/btrfs/relocation.c eb = read_tree_block(fs_info, old_bytenr, old_ptr_gen, fs_info 2055 fs/btrfs/relocation.c struct btrfs_fs_info *fs_info = root->fs_info; fs_info 2089 fs/btrfs/relocation.c eb = read_tree_block(fs_info, bytenr, ptr_gen, i - 1, fs_info 2112 fs/btrfs/relocation.c struct btrfs_fs_info *fs_info = root->fs_info; fs_info 2147 fs/btrfs/relocation.c WARN_ON(!IS_ALIGNED(start, fs_info->sectorsize)); fs_info 2162 fs/btrfs/relocation.c WARN_ON(!IS_ALIGNED(end, fs_info->sectorsize)); fs_info 2267 fs/btrfs/relocation.c struct btrfs_fs_info *fs_info = rc->extent_root->fs_info; fs_info 2315 fs/btrfs/relocation.c min_reserved = fs_info->nodesize * (BTRFS_MAX_LEVEL - 1) * 2; fs_info 2379 fs/btrfs/relocation.c btrfs_btree_balance_dirty(fs_info); fs_info 2404 fs/btrfs/relocation.c btrfs_btree_balance_dirty(fs_info); fs_info 2416 fs/btrfs/relocation.c struct btrfs_fs_info *fs_info = root->fs_info; fs_info 2423 fs/btrfs/relocation.c mutex_lock(&fs_info->reloc_mutex); fs_info 2424 fs/btrfs/relocation.c rc->merging_rsv_size += fs_info->nodesize * (BTRFS_MAX_LEVEL - 1) * 2; fs_info 2426 fs/btrfs/relocation.c mutex_unlock(&fs_info->reloc_mutex); fs_info 2440 fs/btrfs/relocation.c btrfs_block_rsv_release(fs_info, rc->block_rsv, fs_info 2448 fs/btrfs/relocation.c btrfs_block_rsv_release(fs_info, rc->block_rsv, fs_info 2461 fs/btrfs/relocation.c root = read_fs_root(fs_info, reloc_root->root_key.offset); fs_info 2504 fs/btrfs/relocation.c struct btrfs_fs_info *fs_info = rc->extent_root->fs_info; fs_info 2519 fs/btrfs/relocation.c mutex_lock(&fs_info->reloc_mutex); fs_info 2521 fs/btrfs/relocation.c mutex_unlock(&fs_info->reloc_mutex); fs_info 2529 fs/btrfs/relocation.c root = read_fs_root(fs_info, fs_info 2555 fs/btrfs/relocation.c btrfs_handle_fs_error(fs_info, ret, NULL); fs_info 2560 fs/btrfs/relocation.c mutex_lock(&fs_info->reloc_mutex); fs_info 2562 fs/btrfs/relocation.c mutex_unlock(&fs_info->reloc_mutex); fs_info 2598 fs/btrfs/relocation.c struct btrfs_fs_info *fs_info = reloc_root->fs_info; fs_info 2604 fs/btrfs/relocation.c root = read_fs_root(fs_info, reloc_root->root_key.offset); fs_info 2714 fs/btrfs/relocation.c struct btrfs_fs_info *fs_info = rc->extent_root->fs_info; fs_info 2729 fs/btrfs/relocation.c num_bytes += fs_info->nodesize; fs_info 2749 fs/btrfs/relocation.c struct btrfs_fs_info *fs_info = root->fs_info; fs_info 2767 fs/btrfs/relocation.c tmp = fs_info->nodesize * RELOCATION_RESERVED_NODES; fs_info 2777 fs/btrfs/relocation.c rc->block_rsv->size = tmp + fs_info->nodesize * fs_info 2798 fs/btrfs/relocation.c struct btrfs_fs_info *fs_info = rc->extent_root->fs_info; fs_info 2878 fs/btrfs/relocation.c btrfs_err(root->fs_info, fs_info 2890 fs/btrfs/relocation.c blocksize = root->fs_info->nodesize; fs_info 2893 fs/btrfs/relocation.c eb = read_tree_block(fs_info, bytenr, generation, fs_info 3007 fs/btrfs/relocation.c blocksize = rc->extent_root->fs_info->nodesize; fs_info 3047 fs/btrfs/relocation.c u32 blocksize = rc->extent_root->fs_info->nodesize; fs_info 3055 fs/btrfs/relocation.c static int get_tree_block_key(struct btrfs_fs_info *fs_info, fs_info 3061 fs/btrfs/relocation.c eb = read_tree_block(fs_info, block->bytenr, block->key.offset, fs_info 3140 fs/btrfs/relocation.c struct btrfs_fs_info *fs_info = rc->extent_root->fs_info; fs_info 3157 fs/btrfs/relocation.c readahead_tree_block(fs_info, block->bytenr); fs_info 3163 fs/btrfs/relocation.c err = get_tree_block_key(fs_info, block); fs_info 3254 fs/btrfs/relocation.c struct btrfs_fs_info *fs_info = btrfs_sb(inode->i_sb); fs_info 3267 fs/btrfs/relocation.c em->bdev = fs_info->fs_devices->latest_bdev; fs_info 3288 fs/btrfs/relocation.c struct btrfs_fs_info *fs_info = btrfs_sb(inode->i_sb); fs_info 3405 fs/btrfs/relocation.c btrfs_throttle(fs_info); fs_info 3476 fs/btrfs/relocation.c btrfs_print_v0_err(eb->fs_info); fs_info 3477 fs/btrfs/relocation.c btrfs_handle_fs_error(eb->fs_info, -EINVAL, NULL); fs_info 3492 fs/btrfs/relocation.c block->key.objectid = rc->extent_root->fs_info->nodesize; fs_info 3511 fs/btrfs/relocation.c struct btrfs_fs_info *fs_info = rc->extent_root->fs_info; fs_info 3515 fs/btrfs/relocation.c bool skinny = btrfs_fs_incompat(fs_info, SKINNY_METADATA); fs_info 3563 fs/btrfs/relocation.c btrfs_err(fs_info, fs_info 3590 fs/btrfs/relocation.c ret = btrfs_lookup_extent_info(NULL, rc->extent_root->fs_info, fs_info 3602 fs/btrfs/relocation.c static int delete_block_group_cache(struct btrfs_fs_info *fs_info, fs_info 3608 fs/btrfs/relocation.c struct btrfs_root *root = fs_info->tree_root; fs_info 3619 fs/btrfs/relocation.c inode = btrfs_iget(fs_info->sb, &key, root, NULL); fs_info 3624 fs/btrfs/relocation.c ret = btrfs_check_trunc_cache_free_space(fs_info, fs_info 3625 fs/btrfs/relocation.c &fs_info->global_block_rsv); fs_info 3638 fs/btrfs/relocation.c btrfs_btree_balance_dirty(fs_info); fs_info 3654 fs/btrfs/relocation.c struct btrfs_fs_info *fs_info = rc->extent_root->fs_info; fs_info 3681 fs/btrfs/relocation.c ret = delete_block_group_cache(fs_info, rc->block_group, fs_info 3693 fs/btrfs/relocation.c root = read_fs_root(fs_info, ref_root); fs_info 3828 fs/btrfs/relocation.c u32 blocksize = rc->extent_root->fs_info->nodesize; fs_info 3851 fs/btrfs/relocation.c btrfs_err(rc->extent_root->fs_info, fs_info 3890 fs/btrfs/relocation.c btrfs_print_v0_err(eb->fs_info); fs_info 3891 fs/btrfs/relocation.c btrfs_handle_fs_error(eb->fs_info, -EINVAL, NULL); fs_info 3916 fs/btrfs/relocation.c struct btrfs_fs_info *fs_info = rc->extent_root->fs_info; fs_info 3968 fs/btrfs/relocation.c key.objectid + fs_info->nodesize <= fs_info 3986 fs/btrfs/relocation.c fs_info->nodesize; fs_info 3997 fs/btrfs/relocation.c struct btrfs_fs_info *fs_info = rc->extent_root->fs_info; fs_info 3999 fs/btrfs/relocation.c mutex_lock(&fs_info->reloc_mutex); fs_info 4000 fs/btrfs/relocation.c fs_info->reloc_ctl = rc; fs_info 4001 fs/btrfs/relocation.c mutex_unlock(&fs_info->reloc_mutex); fs_info 4006 fs/btrfs/relocation.c struct btrfs_fs_info *fs_info = rc->extent_root->fs_info; fs_info 4008 fs/btrfs/relocation.c mutex_lock(&fs_info->reloc_mutex); fs_info 4009 fs/btrfs/relocation.c fs_info->reloc_ctl = NULL; fs_info 4010 fs/btrfs/relocation.c mutex_unlock(&fs_info->reloc_mutex); fs_info 4033 fs/btrfs/relocation.c rc->block_rsv = btrfs_alloc_block_rsv(rc->extent_root->fs_info, fs_info 4044 fs/btrfs/relocation.c rc->block_rsv->size = rc->extent_root->fs_info->nodesize * fs_info 4071 fs/btrfs/relocation.c struct btrfs_fs_info *fs_info = rc->extent_root->fs_info; fs_info 4134 fs/btrfs/relocation.c btrfs_print_v0_err(trans->fs_info); fs_info 4168 fs/btrfs/relocation.c btrfs_btree_balance_dirty(fs_info); fs_info 4196 fs/btrfs/relocation.c btrfs_btree_balance_dirty(fs_info); fs_info 4210 fs/btrfs/relocation.c btrfs_block_rsv_release(fs_info, rc->block_rsv, (u64)-1); fs_info 4218 fs/btrfs/relocation.c btrfs_block_rsv_release(fs_info, rc->block_rsv, (u64)-1); fs_info 4231 fs/btrfs/relocation.c btrfs_free_block_rsv(fs_info, rc->block_rsv); fs_info 4271 fs/btrfs/relocation.c struct inode *create_reloc_inode(struct btrfs_fs_info *fs_info, fs_info 4281 fs/btrfs/relocation.c root = read_fs_root(fs_info, BTRFS_DATA_RELOC_TREE_OBJECTID); fs_info 4299 fs/btrfs/relocation.c inode = btrfs_iget(fs_info->sb, &key, root, NULL); fs_info 4306 fs/btrfs/relocation.c btrfs_btree_balance_dirty(fs_info); fs_info 4315 fs/btrfs/relocation.c static struct reloc_control *alloc_reloc_control(struct btrfs_fs_info *fs_info) fs_info 4327 fs/btrfs/relocation.c extent_io_tree_init(fs_info, &rc->processed_blocks, fs_info 4335 fs/btrfs/relocation.c static void describe_relocation(struct btrfs_fs_info *fs_info, fs_info 4342 fs/btrfs/relocation.c btrfs_info(fs_info, fs_info 4350 fs/btrfs/relocation.c int btrfs_relocate_block_group(struct btrfs_fs_info *fs_info, u64 group_start) fs_info 4353 fs/btrfs/relocation.c struct btrfs_root *extent_root = fs_info->extent_root; fs_info 4361 fs/btrfs/relocation.c bg = btrfs_lookup_block_group(fs_info, group_start); fs_info 4365 fs/btrfs/relocation.c if (btrfs_pinned_by_swapfile(fs_info, bg)) { fs_info 4370 fs/btrfs/relocation.c rc = alloc_reloc_control(fs_info); fs_info 4396 fs/btrfs/relocation.c ret = delete_block_group_cache(fs_info, rc->block_group, inode, 0); fs_info 4405 fs/btrfs/relocation.c rc->data_inode = create_reloc_inode(fs_info, rc->block_group); fs_info 4412 fs/btrfs/relocation.c describe_relocation(fs_info, rc->block_group); fs_info 4416 fs/btrfs/relocation.c btrfs_wait_ordered_roots(fs_info, U64_MAX, fs_info 4421 fs/btrfs/relocation.c mutex_lock(&fs_info->cleaner_mutex); fs_info 4423 fs/btrfs/relocation.c mutex_unlock(&fs_info->cleaner_mutex); fs_info 4452 fs/btrfs/relocation.c btrfs_info(fs_info, "found %llu extents", rc->extents_found); fs_info 4470 fs/btrfs/relocation.c struct btrfs_fs_info *fs_info = root->fs_info; fs_info 4474 fs/btrfs/relocation.c trans = btrfs_start_transaction(fs_info->tree_root, 0); fs_info 4482 fs/btrfs/relocation.c ret = btrfs_update_root(trans, fs_info->tree_root, fs_info 4499 fs/btrfs/relocation.c struct btrfs_fs_info *fs_info = root->fs_info; fs_info 4521 fs/btrfs/relocation.c ret = btrfs_search_slot(NULL, fs_info->tree_root, &key, fs_info 4549 fs/btrfs/relocation.c fs_root = read_fs_root(fs_info, fs_info 4575 fs/btrfs/relocation.c rc = alloc_reloc_control(fs_info); fs_info 4581 fs/btrfs/relocation.c rc->extent_root = fs_info->extent_root; fs_info 4604 fs/btrfs/relocation.c fs_root = read_fs_root(fs_info, reloc_root->root_key.offset); fs_info 4646 fs/btrfs/relocation.c fs_root = read_fs_root(fs_info, BTRFS_DATA_RELOC_TREE_OBJECTID); fs_info 4663 fs/btrfs/relocation.c struct btrfs_fs_info *fs_info = btrfs_sb(inode->i_sb); fs_info 4675 fs/btrfs/relocation.c ret = btrfs_lookup_csums_range(fs_info->csum_root, disk_bytenr, fs_info 4710 fs/btrfs/relocation.c struct btrfs_fs_info *fs_info = root->fs_info; fs_info 4717 fs/btrfs/relocation.c rc = fs_info->reloc_ctl; fs_info 4768 fs/btrfs/relocation.c struct reloc_control *rc = root->fs_info->reloc_ctl; fs_info 4801 fs/btrfs/relocation.c struct reloc_control *rc = root->fs_info->reloc_ctl; fs_info 4807 fs/btrfs/relocation.c rc = root->fs_info->reloc_ctl; fs_info 37 fs/btrfs/root-tree.c btrfs_warn(eb->fs_info, fs_info 124 fs/btrfs/root-tree.c struct btrfs_fs_info *fs_info = root->fs_info; fs_info 141 fs/btrfs/root-tree.c btrfs_crit(fs_info, fs_info 209 fs/btrfs/root-tree.c int btrfs_find_orphan_roots(struct btrfs_fs_info *fs_info) fs_info 211 fs/btrfs/root-tree.c struct btrfs_root *tree_root = fs_info->tree_root; fs_info 265 fs/btrfs/root-tree.c root = btrfs_lookup_fs_root(fs_info, root_key.objectid); fs_info 288 fs/btrfs/root-tree.c btrfs_handle_fs_error(fs_info, err, fs_info 296 fs/btrfs/root-tree.c btrfs_handle_fs_error(fs_info, err, fs_info 311 fs/btrfs/root-tree.c err = btrfs_insert_fs_root(fs_info, root); fs_info 332 fs/btrfs/root-tree.c struct btrfs_root *root = trans->fs_info->tree_root; fs_info 356 fs/btrfs/root-tree.c struct btrfs_root *tree_root = trans->fs_info->tree_root; fs_info 428 fs/btrfs/root-tree.c struct btrfs_root *tree_root = trans->fs_info->tree_root; fs_info 526 fs/btrfs/root-tree.c struct btrfs_fs_info *fs_info = root->fs_info; fs_info 527 fs/btrfs/root-tree.c struct btrfs_block_rsv *global_rsv = &fs_info->global_block_rsv; fs_info 529 fs/btrfs/root-tree.c if (test_bit(BTRFS_FS_QUOTA_ENABLED, &fs_info->flags)) { fs_info 531 fs/btrfs/root-tree.c qgroup_num_bytes = 3 * fs_info->nodesize; fs_info 538 fs/btrfs/root-tree.c num_bytes = btrfs_calc_insert_metadata_size(fs_info, items); fs_info 539 fs/btrfs/root-tree.c rsv->space_info = btrfs_find_space_info(fs_info, fs_info 553 fs/btrfs/root-tree.c void btrfs_subvolume_release_metadata(struct btrfs_fs_info *fs_info, fs_info 556 fs/btrfs/root-tree.c btrfs_block_rsv_release(fs_info, rsv, (u64)-1); fs_info 156 fs/btrfs/scrub.c struct btrfs_fs_info *fs_info; fs_info 214 fs/btrfs/scrub.c static void scrub_recheck_block(struct btrfs_fs_info *fs_info, fs_info 244 fs/btrfs/scrub.c static void scrub_remap_extent(struct btrfs_fs_info *fs_info, fs_info 254 fs/btrfs/scrub.c static void __scrub_blocked_if_needed(struct btrfs_fs_info *fs_info); fs_info 255 fs/btrfs/scrub.c static void scrub_blocked_if_needed(struct btrfs_fs_info *fs_info); fs_info 277 fs/btrfs/scrub.c static void __scrub_blocked_if_needed(struct btrfs_fs_info *fs_info) fs_info 279 fs/btrfs/scrub.c while (atomic_read(&fs_info->scrub_pause_req)) { fs_info 280 fs/btrfs/scrub.c mutex_unlock(&fs_info->scrub_lock); fs_info 281 fs/btrfs/scrub.c wait_event(fs_info->scrub_pause_wait, fs_info 282 fs/btrfs/scrub.c atomic_read(&fs_info->scrub_pause_req) == 0); fs_info 283 fs/btrfs/scrub.c mutex_lock(&fs_info->scrub_lock); fs_info 287 fs/btrfs/scrub.c static void scrub_pause_on(struct btrfs_fs_info *fs_info) fs_info 289 fs/btrfs/scrub.c atomic_inc(&fs_info->scrubs_paused); fs_info 290 fs/btrfs/scrub.c wake_up(&fs_info->scrub_pause_wait); fs_info 293 fs/btrfs/scrub.c static void scrub_pause_off(struct btrfs_fs_info *fs_info) fs_info 295 fs/btrfs/scrub.c mutex_lock(&fs_info->scrub_lock); fs_info 296 fs/btrfs/scrub.c __scrub_blocked_if_needed(fs_info); fs_info 297 fs/btrfs/scrub.c atomic_dec(&fs_info->scrubs_paused); fs_info 298 fs/btrfs/scrub.c mutex_unlock(&fs_info->scrub_lock); fs_info 300 fs/btrfs/scrub.c wake_up(&fs_info->scrub_pause_wait); fs_info 303 fs/btrfs/scrub.c static void scrub_blocked_if_needed(struct btrfs_fs_info *fs_info) fs_info 305 fs/btrfs/scrub.c scrub_pause_on(fs_info); fs_info 306 fs/btrfs/scrub.c scrub_pause_off(fs_info); fs_info 423 fs/btrfs/scrub.c static int lock_full_stripe(struct btrfs_fs_info *fs_info, u64 bytenr, fs_info 433 fs/btrfs/scrub.c bg_cache = btrfs_lookup_block_group(fs_info, bytenr); fs_info 470 fs/btrfs/scrub.c static int unlock_full_stripe(struct btrfs_fs_info *fs_info, u64 bytenr, fs_info 484 fs/btrfs/scrub.c bg_cache = btrfs_lookup_block_group(fs_info, bytenr); fs_info 507 fs/btrfs/scrub.c btrfs_warn(fs_info, "full stripe lock at %llu refcount underflow", fs_info 576 fs/btrfs/scrub.c struct btrfs_fs_info *fs_info, int is_dev_replace) fs_info 588 fs/btrfs/scrub.c sctx->fs_info = fs_info; fs_info 613 fs/btrfs/scrub.c sctx->csum_size = btrfs_super_csum_size(fs_info->super_copy); fs_info 623 fs/btrfs/scrub.c WARN_ON(!fs_info->dev_replace.tgtdev); fs_info 625 fs/btrfs/scrub.c sctx->wr_tgtdev = fs_info->dev_replace.tgtdev; fs_info 647 fs/btrfs/scrub.c struct btrfs_fs_info *fs_info = swarn->dev->fs_info; fs_info 656 fs/btrfs/scrub.c local_root = btrfs_read_fs_root_no_name(fs_info, &root_key); fs_info 705 fs/btrfs/scrub.c btrfs_warn_in_rcu(fs_info, fs_info 718 fs/btrfs/scrub.c btrfs_warn_in_rcu(fs_info, fs_info 732 fs/btrfs/scrub.c struct btrfs_fs_info *fs_info; fs_info 748 fs/btrfs/scrub.c fs_info = sblock->sctx->fs_info; fs_info 759 fs/btrfs/scrub.c ret = extent_from_logical(fs_info, swarn.logical, path, &found_key, fs_info 776 fs/btrfs/scrub.c btrfs_warn_in_rcu(fs_info, fs_info 790 fs/btrfs/scrub.c iterate_extent_inodes(fs_info, found_key.objectid, fs_info 804 fs/btrfs/scrub.c static inline void scrub_put_recover(struct btrfs_fs_info *fs_info, fs_info 808 fs/btrfs/scrub.c btrfs_bio_counter_dec(fs_info); fs_info 826 fs/btrfs/scrub.c struct btrfs_fs_info *fs_info; fs_info 843 fs/btrfs/scrub.c fs_info = sctx->fs_info; fs_info 880 fs/btrfs/scrub.c ret = lock_full_stripe(fs_info, logical, &full_stripe_locked); fs_info 947 fs/btrfs/scrub.c scrub_recheck_block(fs_info, sblock_bad, 1); fs_info 1049 fs/btrfs/scrub.c scrub_recheck_block(fs_info, sblock_other, 0); fs_info 1143 fs/btrfs/scrub.c &fs_info->dev_replace.num_write_errors); fs_info 1168 fs/btrfs/scrub.c scrub_recheck_block(fs_info, sblock_bad, 1); fs_info 1181 fs/btrfs/scrub.c btrfs_err_rl_in_rcu(fs_info, fs_info 1190 fs/btrfs/scrub.c btrfs_err_rl_in_rcu(fs_info, fs_info 1209 fs/btrfs/scrub.c scrub_put_recover(fs_info, recover); fs_info 1219 fs/btrfs/scrub.c ret = unlock_full_stripe(fs_info, logical, full_stripe_locked); fs_info 1270 fs/btrfs/scrub.c struct btrfs_fs_info *fs_info = sctx->fs_info; fs_info 1302 fs/btrfs/scrub.c btrfs_bio_counter_inc_blocked(fs_info); fs_info 1303 fs/btrfs/scrub.c ret = btrfs_map_sblock(fs_info, BTRFS_MAP_GET_READ_MIRRORS, fs_info 1307 fs/btrfs/scrub.c btrfs_bio_counter_dec(fs_info); fs_info 1314 fs/btrfs/scrub.c btrfs_bio_counter_dec(fs_info); fs_info 1340 fs/btrfs/scrub.c scrub_put_recover(fs_info, recover); fs_info 1382 fs/btrfs/scrub.c scrub_put_recover(fs_info, recover); fs_info 1396 fs/btrfs/scrub.c static int scrub_submit_raid56_bio_wait(struct btrfs_fs_info *fs_info, fs_info 1409 fs/btrfs/scrub.c ret = raid56_parity_recover(fs_info, bio, page->recover->bbio, fs_info 1419 fs/btrfs/scrub.c static void scrub_recheck_block_on_raid56(struct btrfs_fs_info *fs_info, fs_info 1441 fs/btrfs/scrub.c if (scrub_submit_raid56_bio_wait(fs_info, bio, first_page)) { fs_info 1465 fs/btrfs/scrub.c static void scrub_recheck_block(struct btrfs_fs_info *fs_info, fs_info 1475 fs/btrfs/scrub.c return scrub_recheck_block_on_raid56(fs_info, sblock); fs_info 1554 fs/btrfs/scrub.c struct btrfs_fs_info *fs_info = sblock_bad->sctx->fs_info; fs_info 1564 fs/btrfs/scrub.c btrfs_warn_rl(fs_info, fs_info 1583 fs/btrfs/scrub.c atomic64_inc(&fs_info->dev_replace.num_write_errors); fs_info 1595 fs/btrfs/scrub.c struct btrfs_fs_info *fs_info = sblock->sctx->fs_info; fs_info 1610 fs/btrfs/scrub.c atomic64_inc(&fs_info->dev_replace.num_write_errors); fs_info 1718 fs/btrfs/scrub.c struct btrfs_fs_info *fs_info = sbio->dev->fs_info; fs_info 1724 fs/btrfs/scrub.c btrfs_queue_work(fs_info->scrub_wr_completion_workers, &sbio->work); fs_info 1736 fs/btrfs/scrub.c &sbio->sctx->fs_info->dev_replace; fs_info 1791 fs/btrfs/scrub.c struct btrfs_fs_info *fs_info = sctx->fs_info; fs_info 1792 fs/btrfs/scrub.c SHASH_DESC_ON_STACK(shash, fs_info->csum_shash); fs_info 1804 fs/btrfs/scrub.c shash->tfm = fs_info->csum_shash; fs_info 1811 fs/btrfs/scrub.c len = sctx->fs_info->sectorsize; fs_info 1839 fs/btrfs/scrub.c struct btrfs_fs_info *fs_info = sctx->fs_info; fs_info 1840 fs/btrfs/scrub.c SHASH_DESC_ON_STACK(shash, fs_info->csum_shash); fs_info 1850 fs/btrfs/scrub.c shash->tfm = fs_info->csum_shash; fs_info 1875 fs/btrfs/scrub.c if (memcmp(h->chunk_tree_uuid, fs_info->chunk_tree_uuid, fs_info 1879 fs/btrfs/scrub.c len = sctx->fs_info->nodesize - BTRFS_CSUM_SIZE; fs_info 1911 fs/btrfs/scrub.c struct btrfs_fs_info *fs_info = sctx->fs_info; fs_info 1912 fs/btrfs/scrub.c SHASH_DESC_ON_STACK(shash, fs_info->csum_shash); fs_info 1924 fs/btrfs/scrub.c shash->tfm = fs_info->csum_shash; fs_info 2109 fs/btrfs/scrub.c struct btrfs_fs_info *fs_info = sblock->sctx->fs_info; fs_info 2116 fs/btrfs/scrub.c btrfs_queue_work(fs_info->scrub_workers, &sblock->work); fs_info 2123 fs/btrfs/scrub.c struct btrfs_fs_info *fs_info = sctx->fs_info; fs_info 2137 fs/btrfs/scrub.c btrfs_err_rl_in_rcu(fs_info, fs_info 2144 fs/btrfs/scrub.c btrfs_err_rl_in_rcu(fs_info, fs_info 2164 fs/btrfs/scrub.c struct btrfs_fs_info *fs_info = sctx->fs_info; fs_info 2173 fs/btrfs/scrub.c btrfs_bio_counter_inc_blocked(fs_info); fs_info 2174 fs/btrfs/scrub.c ret = btrfs_map_sblock(fs_info, BTRFS_MAP_GET_READ_MIRRORS, logical, fs_info 2195 fs/btrfs/scrub.c rbio = raid56_alloc_missing_rbio(fs_info, bio, bbio, length); fs_info 2214 fs/btrfs/scrub.c btrfs_bio_counter_dec(fs_info); fs_info 2314 fs/btrfs/scrub.c struct btrfs_fs_info *fs_info = sbio->dev->fs_info; fs_info 2319 fs/btrfs/scrub.c btrfs_queue_work(fs_info->scrub_workers, &sbio->work); fs_info 2371 fs/btrfs/scrub.c int sectorsize = sparity->sctx->fs_info->sectorsize; fs_info 2457 fs/btrfs/scrub.c index = div_u64(logical - sum->bytenr, sctx->fs_info->sectorsize); fs_info 2460 fs/btrfs/scrub.c num_sectors = sum->len / sctx->fs_info->sectorsize; fs_info 2483 fs/btrfs/scrub.c blocksize = sctx->fs_info->sectorsize; fs_info 2492 fs/btrfs/scrub.c blocksize = sctx->fs_info->nodesize; fs_info 2498 fs/btrfs/scrub.c blocksize = sctx->fs_info->sectorsize; fs_info 2629 fs/btrfs/scrub.c blocksize = sctx->fs_info->sectorsize; fs_info 2735 fs/btrfs/scrub.c struct btrfs_fs_info *fs_info = sparity->sctx->fs_info; fs_info 2745 fs/btrfs/scrub.c btrfs_queue_work(fs_info->scrub_parity_workers, &sparity->work); fs_info 2751 fs/btrfs/scrub.c struct btrfs_fs_info *fs_info = sctx->fs_info; fs_info 2764 fs/btrfs/scrub.c btrfs_bio_counter_inc_blocked(fs_info); fs_info 2765 fs/btrfs/scrub.c ret = btrfs_map_sblock(fs_info, BTRFS_MAP_WRITE, sparity->logic_start, fs_info 2775 fs/btrfs/scrub.c rbio = raid56_parity_alloc_scrub_rbio(fs_info, bio, bbio, fs_info 2789 fs/btrfs/scrub.c btrfs_bio_counter_dec(fs_info); fs_info 2825 fs/btrfs/scrub.c struct btrfs_fs_info *fs_info = sctx->fs_info; fs_info 2826 fs/btrfs/scrub.c struct btrfs_root *root = fs_info->extent_root; fs_info 2827 fs/btrfs/scrub.c struct btrfs_root *csum_root = fs_info->csum_root; fs_info 2847 fs/btrfs/scrub.c nsectors = div_u64(map->stripe_len, fs_info->sectorsize); fs_info 2871 fs/btrfs/scrub.c if (btrfs_fs_incompat(fs_info, SKINNY_METADATA)) fs_info 2918 fs/btrfs/scrub.c bytes = fs_info->nodesize; fs_info 2942 fs/btrfs/scrub.c btrfs_err(fs_info, fs_info 2969 fs/btrfs/scrub.c ret = btrfs_map_block(fs_info, BTRFS_MAP_READ, fs_info 3049 fs/btrfs/scrub.c struct btrfs_fs_info *fs_info = sctx->fs_info; fs_info 3050 fs/btrfs/scrub.c struct btrfs_root *root = fs_info->extent_root; fs_info 3051 fs/btrfs/scrub.c struct btrfs_root *csum_root = fs_info->csum_root; fs_info 3143 fs/btrfs/scrub.c scrub_blocked_if_needed(fs_info); fs_info 3182 fs/btrfs/scrub.c if (atomic_read(&fs_info->scrub_cancel_req) || fs_info 3190 fs/btrfs/scrub.c if (atomic_read(&fs_info->scrub_pause_req)) { fs_info 3200 fs/btrfs/scrub.c scrub_blocked_if_needed(fs_info); fs_info 3221 fs/btrfs/scrub.c if (btrfs_fs_incompat(fs_info, SKINNY_METADATA)) fs_info 3270 fs/btrfs/scrub.c bytes = fs_info->nodesize; fs_info 3293 fs/btrfs/scrub.c btrfs_err(fs_info, fs_info 3323 fs/btrfs/scrub.c scrub_remap_extent(fs_info, extent_logical, fs_info 3422 fs/btrfs/scrub.c struct btrfs_fs_info *fs_info = sctx->fs_info; fs_info 3423 fs/btrfs/scrub.c struct extent_map_tree *map_tree = &fs_info->mapping_tree; fs_info 3474 fs/btrfs/scrub.c struct btrfs_fs_info *fs_info = sctx->fs_info; fs_info 3475 fs/btrfs/scrub.c struct btrfs_root *root = fs_info->dev_root; fs_info 3485 fs/btrfs/scrub.c struct btrfs_dev_replace *dev_replace = &fs_info->dev_replace; fs_info 3547 fs/btrfs/scrub.c cache = btrfs_lookup_block_group(fs_info, chunk_offset); fs_info 3562 fs/btrfs/scrub.c scrub_pause_on(fs_info); fs_info 3585 fs/btrfs/scrub.c ret = btrfs_wait_ordered_roots(fs_info, U64_MAX, fs_info 3597 fs/btrfs/scrub.c scrub_pause_off(fs_info); fs_info 3603 fs/btrfs/scrub.c scrub_pause_off(fs_info); fs_info 3617 fs/btrfs/scrub.c btrfs_warn(fs_info, fs_info 3623 fs/btrfs/scrub.c down_write(&fs_info->dev_replace.rwsem); fs_info 3651 fs/btrfs/scrub.c scrub_pause_on(fs_info); fs_info 3662 fs/btrfs/scrub.c scrub_pause_off(fs_info); fs_info 3664 fs/btrfs/scrub.c down_write(&fs_info->dev_replace.rwsem); fs_info 3667 fs/btrfs/scrub.c up_write(&fs_info->dev_replace.rwsem); fs_info 3717 fs/btrfs/scrub.c struct btrfs_fs_info *fs_info = sctx->fs_info; fs_info 3719 fs/btrfs/scrub.c if (test_bit(BTRFS_FS_STATE_ERROR, &fs_info->fs_state)) fs_info 3723 fs/btrfs/scrub.c if (scrub_dev->fs_devices != fs_info->fs_devices) fs_info 3726 fs/btrfs/scrub.c gen = fs_info->last_trans_committed; fs_info 3748 fs/btrfs/scrub.c static noinline_for_stack int scrub_workers_get(struct btrfs_fs_info *fs_info, fs_info 3752 fs/btrfs/scrub.c int max_active = fs_info->thread_pool_size; fs_info 3754 fs/btrfs/scrub.c lockdep_assert_held(&fs_info->scrub_lock); fs_info 3756 fs/btrfs/scrub.c if (refcount_read(&fs_info->scrub_workers_refcnt) == 0) { fs_info 3757 fs/btrfs/scrub.c ASSERT(fs_info->scrub_workers == NULL); fs_info 3758 fs/btrfs/scrub.c fs_info->scrub_workers = btrfs_alloc_workqueue(fs_info, "scrub", fs_info 3760 fs/btrfs/scrub.c if (!fs_info->scrub_workers) fs_info 3763 fs/btrfs/scrub.c ASSERT(fs_info->scrub_wr_completion_workers == NULL); fs_info 3764 fs/btrfs/scrub.c fs_info->scrub_wr_completion_workers = fs_info 3765 fs/btrfs/scrub.c btrfs_alloc_workqueue(fs_info, "scrubwrc", flags, fs_info 3767 fs/btrfs/scrub.c if (!fs_info->scrub_wr_completion_workers) fs_info 3770 fs/btrfs/scrub.c ASSERT(fs_info->scrub_parity_workers == NULL); fs_info 3771 fs/btrfs/scrub.c fs_info->scrub_parity_workers = fs_info 3772 fs/btrfs/scrub.c btrfs_alloc_workqueue(fs_info, "scrubparity", flags, fs_info 3774 fs/btrfs/scrub.c if (!fs_info->scrub_parity_workers) fs_info 3777 fs/btrfs/scrub.c refcount_set(&fs_info->scrub_workers_refcnt, 1); fs_info 3779 fs/btrfs/scrub.c refcount_inc(&fs_info->scrub_workers_refcnt); fs_info 3784 fs/btrfs/scrub.c btrfs_destroy_workqueue(fs_info->scrub_wr_completion_workers); fs_info 3786 fs/btrfs/scrub.c btrfs_destroy_workqueue(fs_info->scrub_workers); fs_info 3791 fs/btrfs/scrub.c int btrfs_scrub_dev(struct btrfs_fs_info *fs_info, u64 devid, u64 start, fs_info 3803 fs/btrfs/scrub.c if (btrfs_fs_closing(fs_info)) fs_info 3806 fs/btrfs/scrub.c if (fs_info->nodesize > BTRFS_STRIPE_LEN) { fs_info 3812 fs/btrfs/scrub.c btrfs_err(fs_info, fs_info 3814 fs/btrfs/scrub.c fs_info->nodesize, fs_info 3819 fs/btrfs/scrub.c if (fs_info->sectorsize != PAGE_SIZE) { fs_info 3821 fs/btrfs/scrub.c btrfs_err_rl(fs_info, fs_info 3823 fs/btrfs/scrub.c fs_info->sectorsize, PAGE_SIZE); fs_info 3827 fs/btrfs/scrub.c if (fs_info->nodesize > fs_info 3829 fs/btrfs/scrub.c fs_info->sectorsize > PAGE_SIZE * SCRUB_MAX_PAGES_PER_BLOCK) { fs_info 3834 fs/btrfs/scrub.c btrfs_err(fs_info, fs_info 3836 fs/btrfs/scrub.c fs_info->nodesize, fs_info 3838 fs/btrfs/scrub.c fs_info->sectorsize, fs_info 3844 fs/btrfs/scrub.c sctx = scrub_setup_ctx(fs_info, is_dev_replace); fs_info 3848 fs/btrfs/scrub.c mutex_lock(&fs_info->fs_devices->device_list_mutex); fs_info 3849 fs/btrfs/scrub.c dev = btrfs_find_device(fs_info->fs_devices, devid, NULL, NULL, true); fs_info 3852 fs/btrfs/scrub.c mutex_unlock(&fs_info->fs_devices->device_list_mutex); fs_info 3859 fs/btrfs/scrub.c mutex_unlock(&fs_info->fs_devices->device_list_mutex); fs_info 3860 fs/btrfs/scrub.c btrfs_err_in_rcu(fs_info, "scrub: device %s is not writable", fs_info 3866 fs/btrfs/scrub.c mutex_lock(&fs_info->scrub_lock); fs_info 3869 fs/btrfs/scrub.c mutex_unlock(&fs_info->scrub_lock); fs_info 3870 fs/btrfs/scrub.c mutex_unlock(&fs_info->fs_devices->device_list_mutex); fs_info 3875 fs/btrfs/scrub.c down_read(&fs_info->dev_replace.rwsem); fs_info 3878 fs/btrfs/scrub.c btrfs_dev_replace_is_ongoing(&fs_info->dev_replace))) { fs_info 3879 fs/btrfs/scrub.c up_read(&fs_info->dev_replace.rwsem); fs_info 3880 fs/btrfs/scrub.c mutex_unlock(&fs_info->scrub_lock); fs_info 3881 fs/btrfs/scrub.c mutex_unlock(&fs_info->fs_devices->device_list_mutex); fs_info 3885 fs/btrfs/scrub.c up_read(&fs_info->dev_replace.rwsem); fs_info 3887 fs/btrfs/scrub.c ret = scrub_workers_get(fs_info, is_dev_replace); fs_info 3889 fs/btrfs/scrub.c mutex_unlock(&fs_info->scrub_lock); fs_info 3890 fs/btrfs/scrub.c mutex_unlock(&fs_info->fs_devices->device_list_mutex); fs_info 3896 fs/btrfs/scrub.c mutex_unlock(&fs_info->fs_devices->device_list_mutex); fs_info 3902 fs/btrfs/scrub.c __scrub_blocked_if_needed(fs_info); fs_info 3903 fs/btrfs/scrub.c atomic_inc(&fs_info->scrubs_running); fs_info 3904 fs/btrfs/scrub.c mutex_unlock(&fs_info->scrub_lock); fs_info 3917 fs/btrfs/scrub.c btrfs_info(fs_info, "scrub: started on devid %llu", devid); fs_info 3922 fs/btrfs/scrub.c mutex_lock(&fs_info->fs_devices->device_list_mutex); fs_info 3924 fs/btrfs/scrub.c mutex_unlock(&fs_info->fs_devices->device_list_mutex); fs_info 3932 fs/btrfs/scrub.c atomic_dec(&fs_info->scrubs_running); fs_info 3933 fs/btrfs/scrub.c wake_up(&fs_info->scrub_pause_wait); fs_info 3941 fs/btrfs/scrub.c btrfs_info(fs_info, "scrub: %s on devid %llu with status: %d", fs_info 3944 fs/btrfs/scrub.c mutex_lock(&fs_info->scrub_lock); fs_info 3946 fs/btrfs/scrub.c if (refcount_dec_and_test(&fs_info->scrub_workers_refcnt)) { fs_info 3947 fs/btrfs/scrub.c scrub_workers = fs_info->scrub_workers; fs_info 3948 fs/btrfs/scrub.c scrub_wr_comp = fs_info->scrub_wr_completion_workers; fs_info 3949 fs/btrfs/scrub.c scrub_parity = fs_info->scrub_parity_workers; fs_info 3951 fs/btrfs/scrub.c fs_info->scrub_workers = NULL; fs_info 3952 fs/btrfs/scrub.c fs_info->scrub_wr_completion_workers = NULL; fs_info 3953 fs/btrfs/scrub.c fs_info->scrub_parity_workers = NULL; fs_info 3955 fs/btrfs/scrub.c mutex_unlock(&fs_info->scrub_lock); fs_info 3970 fs/btrfs/scrub.c void btrfs_scrub_pause(struct btrfs_fs_info *fs_info) fs_info 3972 fs/btrfs/scrub.c mutex_lock(&fs_info->scrub_lock); fs_info 3973 fs/btrfs/scrub.c atomic_inc(&fs_info->scrub_pause_req); fs_info 3974 fs/btrfs/scrub.c while (atomic_read(&fs_info->scrubs_paused) != fs_info 3975 fs/btrfs/scrub.c atomic_read(&fs_info->scrubs_running)) { fs_info 3976 fs/btrfs/scrub.c mutex_unlock(&fs_info->scrub_lock); fs_info 3977 fs/btrfs/scrub.c wait_event(fs_info->scrub_pause_wait, fs_info 3978 fs/btrfs/scrub.c atomic_read(&fs_info->scrubs_paused) == fs_info 3979 fs/btrfs/scrub.c atomic_read(&fs_info->scrubs_running)); fs_info 3980 fs/btrfs/scrub.c mutex_lock(&fs_info->scrub_lock); fs_info 3982 fs/btrfs/scrub.c mutex_unlock(&fs_info->scrub_lock); fs_info 3985 fs/btrfs/scrub.c void btrfs_scrub_continue(struct btrfs_fs_info *fs_info) fs_info 3987 fs/btrfs/scrub.c atomic_dec(&fs_info->scrub_pause_req); fs_info 3988 fs/btrfs/scrub.c wake_up(&fs_info->scrub_pause_wait); fs_info 3991 fs/btrfs/scrub.c int btrfs_scrub_cancel(struct btrfs_fs_info *fs_info) fs_info 3993 fs/btrfs/scrub.c mutex_lock(&fs_info->scrub_lock); fs_info 3994 fs/btrfs/scrub.c if (!atomic_read(&fs_info->scrubs_running)) { fs_info 3995 fs/btrfs/scrub.c mutex_unlock(&fs_info->scrub_lock); fs_info 3999 fs/btrfs/scrub.c atomic_inc(&fs_info->scrub_cancel_req); fs_info 4000 fs/btrfs/scrub.c while (atomic_read(&fs_info->scrubs_running)) { fs_info 4001 fs/btrfs/scrub.c mutex_unlock(&fs_info->scrub_lock); fs_info 4002 fs/btrfs/scrub.c wait_event(fs_info->scrub_pause_wait, fs_info 4003 fs/btrfs/scrub.c atomic_read(&fs_info->scrubs_running) == 0); fs_info 4004 fs/btrfs/scrub.c mutex_lock(&fs_info->scrub_lock); fs_info 4006 fs/btrfs/scrub.c atomic_dec(&fs_info->scrub_cancel_req); fs_info 4007 fs/btrfs/scrub.c mutex_unlock(&fs_info->scrub_lock); fs_info 4014 fs/btrfs/scrub.c struct btrfs_fs_info *fs_info = dev->fs_info; fs_info 4017 fs/btrfs/scrub.c mutex_lock(&fs_info->scrub_lock); fs_info 4020 fs/btrfs/scrub.c mutex_unlock(&fs_info->scrub_lock); fs_info 4025 fs/btrfs/scrub.c mutex_unlock(&fs_info->scrub_lock); fs_info 4026 fs/btrfs/scrub.c wait_event(fs_info->scrub_pause_wait, fs_info 4028 fs/btrfs/scrub.c mutex_lock(&fs_info->scrub_lock); fs_info 4030 fs/btrfs/scrub.c mutex_unlock(&fs_info->scrub_lock); fs_info 4035 fs/btrfs/scrub.c int btrfs_scrub_progress(struct btrfs_fs_info *fs_info, u64 devid, fs_info 4041 fs/btrfs/scrub.c mutex_lock(&fs_info->fs_devices->device_list_mutex); fs_info 4042 fs/btrfs/scrub.c dev = btrfs_find_device(fs_info->fs_devices, devid, NULL, NULL, true); fs_info 4047 fs/btrfs/scrub.c mutex_unlock(&fs_info->fs_devices->device_list_mutex); fs_info 4052 fs/btrfs/scrub.c static void scrub_remap_extent(struct btrfs_fs_info *fs_info, fs_info 4063 fs/btrfs/scrub.c ret = btrfs_map_block(fs_info, BTRFS_MAP_READ, extent_logical, fs_info 312 fs/btrfs/send.c btrfs_err(sctx->send_root->fs_info, fs_info 731 fs/btrfs/send.c struct btrfs_fs_info *fs_info = sctx->send_root->fs_info; fs_info 734 fs/btrfs/send.c btrfs_debug(fs_info, "send_rename %s -> %s", from->start, to->start); fs_info 756 fs/btrfs/send.c struct btrfs_fs_info *fs_info = sctx->send_root->fs_info; fs_info 759 fs/btrfs/send.c btrfs_debug(fs_info, "send_link %s -> %s", path->start, lnk->start); fs_info 780 fs/btrfs/send.c struct btrfs_fs_info *fs_info = sctx->send_root->fs_info; fs_info 783 fs/btrfs/send.c btrfs_debug(fs_info, "send_unlink %s", path->start); fs_info 803 fs/btrfs/send.c struct btrfs_fs_info *fs_info = sctx->send_root->fs_info; fs_info 806 fs/btrfs/send.c btrfs_debug(fs_info, "send_rmdir %s", path->start); fs_info 1062 fs/btrfs/send.c BTRFS_MAX_XATTR_SIZE(root->fs_info)) { fs_info 1299 fs/btrfs/send.c struct btrfs_fs_info *fs_info = sctx->send_root->fs_info; fs_info 1357 fs/btrfs/send.c down_read(&fs_info->commit_root_sem); fs_info 1358 fs/btrfs/send.c ret = extent_from_logical(fs_info, disk_byte, tmp_path, fs_info 1360 fs/btrfs/send.c up_read(&fs_info->commit_root_sem); fs_info 1429 fs/btrfs/send.c ret = iterate_extent_inodes(fs_info, found_key.objectid, fs_info 1439 fs/btrfs/send.c btrfs_err(fs_info, fs_info 1445 fs/btrfs/send.c btrfs_debug(fs_info, fs_info 1450 fs/btrfs/send.c btrfs_debug(fs_info, "no clones found"); fs_info 1509 fs/btrfs/send.c btrfs_err(root->fs_info, fs_info 2057 fs/btrfs/send.c btrfs_err(sctx->send_root->fs_info, fs_info 2369 fs/btrfs/send.c ret = btrfs_search_slot_for_read(send_root->fs_info->tree_root, fs_info 2433 fs/btrfs/send.c struct btrfs_fs_info *fs_info = sctx->send_root->fs_info; fs_info 2437 fs/btrfs/send.c btrfs_debug(fs_info, "send_truncate %llu size=%llu", ino, size); fs_info 2463 fs/btrfs/send.c struct btrfs_fs_info *fs_info = sctx->send_root->fs_info; fs_info 2467 fs/btrfs/send.c btrfs_debug(fs_info, "send_chmod %llu mode=%llu", ino, mode); fs_info 2493 fs/btrfs/send.c struct btrfs_fs_info *fs_info = sctx->send_root->fs_info; fs_info 2497 fs/btrfs/send.c btrfs_debug(fs_info, "send_chown %llu uid=%llu, gid=%llu", fs_info 2525 fs/btrfs/send.c struct btrfs_fs_info *fs_info = sctx->send_root->fs_info; fs_info 2534 fs/btrfs/send.c btrfs_debug(fs_info, "send_utimes %llu", ino); fs_info 2588 fs/btrfs/send.c struct btrfs_fs_info *fs_info = sctx->send_root->fs_info; fs_info 2596 fs/btrfs/send.c btrfs_debug(fs_info, "send_create_inode %llu", ino); fs_info 2626 fs/btrfs/send.c btrfs_warn(sctx->send_root->fs_info, "unexpected inode type %o", fs_info 3456 fs/btrfs/send.c struct btrfs_fs_info *fs_info = sctx->parent_root->fs_info; fs_info 3485 fs/btrfs/send.c di = btrfs_match_dir_item_name(fs_info, path, parent_ref->name, fs_info 3810 fs/btrfs/send.c struct btrfs_fs_info *fs_info = sctx->send_root->fs_info; fs_info 3826 fs/btrfs/send.c btrfs_debug(fs_info, "process_recorded_refs %llu", sctx->cur_ino); fs_info 4436 fs/btrfs/send.c btrfs_err(sctx->send_root->fs_info, fs_info 4791 fs/btrfs/send.c struct btrfs_fs_info *fs_info = root->fs_info; fs_info 4805 fs/btrfs/send.c inode = btrfs_iget(fs_info->sb, &key, root, NULL); fs_info 4878 fs/btrfs/send.c struct btrfs_fs_info *fs_info = sctx->send_root->fs_info; fs_info 4887 fs/btrfs/send.c btrfs_debug(fs_info, "send_write offset=%llu, len=%d", offset, len); fs_info 4929 fs/btrfs/send.c btrfs_debug(sctx->send_root->fs_info, fs_info 5129 fs/btrfs/send.c len == sctx->send_root->fs_info->sectorsize) fs_info 5342 fs/btrfs/send.c u64 bs = sctx->send_root->fs_info->sb->s_blocksize; fs_info 5609 fs/btrfs/send.c sctx->send_root->fs_info->sectorsize); fs_info 5673 fs/btrfs/send.c root->fs_info->sectorsize); fs_info 5718 fs/btrfs/send.c sctx->send_root->fs_info->sectorsize); fs_info 6665 fs/btrfs/send.c struct btrfs_fs_info *fs_info = left_root->fs_info; fs_info 6697 fs/btrfs/send.c tmp_buf = kvmalloc(fs_info->nodesize, GFP_KERNEL); fs_info 6744 fs/btrfs/send.c down_read(&fs_info->commit_root_sem); fs_info 6750 fs/btrfs/send.c up_read(&fs_info->commit_root_sem); fs_info 6760 fs/btrfs/send.c up_read(&fs_info->commit_root_sem); fs_info 6764 fs/btrfs/send.c up_read(&fs_info->commit_root_sem); fs_info 7034 fs/btrfs/send.c btrfs_err(root->fs_info, fs_info 7042 fs/btrfs/send.c btrfs_warn_rl(root->fs_info, fs_info 7051 fs/btrfs/send.c struct btrfs_fs_info *fs_info = send_root->fs_info; fs_info 7187 fs/btrfs/send.c index = srcu_read_lock(&fs_info->subvol_srcu); fs_info 7189 fs/btrfs/send.c clone_root = btrfs_read_fs_root_no_name(fs_info, &key); fs_info 7191 fs/btrfs/send.c srcu_read_unlock(&fs_info->subvol_srcu, index); fs_info 7199 fs/btrfs/send.c srcu_read_unlock(&fs_info->subvol_srcu, index); fs_info 7206 fs/btrfs/send.c srcu_read_unlock(&fs_info->subvol_srcu, index); fs_info 7212 fs/btrfs/send.c srcu_read_unlock(&fs_info->subvol_srcu, index); fs_info 7226 fs/btrfs/send.c index = srcu_read_lock(&fs_info->subvol_srcu); fs_info 7228 fs/btrfs/send.c sctx->parent_root = btrfs_read_fs_root_no_name(fs_info, &key); fs_info 7230 fs/btrfs/send.c srcu_read_unlock(&fs_info->subvol_srcu, index); fs_info 7240 fs/btrfs/send.c srcu_read_unlock(&fs_info->subvol_srcu, index); fs_info 7247 fs/btrfs/send.c srcu_read_unlock(&fs_info->subvol_srcu, index); fs_info 7253 fs/btrfs/send.c srcu_read_unlock(&fs_info->subvol_srcu, index); fs_info 7277 fs/btrfs/send.c mutex_lock(&fs_info->balance_mutex); fs_info 7278 fs/btrfs/send.c if (test_bit(BTRFS_FS_BALANCE_RUNNING, &fs_info->flags)) { fs_info 7279 fs/btrfs/send.c mutex_unlock(&fs_info->balance_mutex); fs_info 7280 fs/btrfs/send.c btrfs_warn_rl(fs_info, fs_info 7285 fs/btrfs/send.c fs_info->send_in_progress++; fs_info 7286 fs/btrfs/send.c mutex_unlock(&fs_info->balance_mutex); fs_info 7291 fs/btrfs/send.c mutex_lock(&fs_info->balance_mutex); fs_info 7292 fs/btrfs/send.c fs_info->send_in_progress--; fs_info 7293 fs/btrfs/send.c mutex_unlock(&fs_info->balance_mutex); fs_info 77 fs/btrfs/space-info.c int btrfs_init_space_info(struct btrfs_fs_info *fs_info) fs_info 85 fs/btrfs/space-info.c disk_super = fs_info->super_copy; fs_info 94 fs/btrfs/space-info.c ret = create_space_info(fs_info, flags); fs_info 100 fs/btrfs/space-info.c ret = create_space_info(fs_info, flags); fs_info 103 fs/btrfs/space-info.c ret = create_space_info(fs_info, flags); fs_info 108 fs/btrfs/space-info.c ret = create_space_info(fs_info, flags); fs_info 163 fs/btrfs/space-info.c static int can_overcommit(struct btrfs_fs_info *fs_info, fs_info 178 fs/btrfs/space-info.c profile = btrfs_system_alloc_profile(fs_info); fs_info 180 fs/btrfs/space-info.c profile = btrfs_metadata_alloc_profile(fs_info); fs_info 183 fs/btrfs/space-info.c avail = atomic64_read(&fs_info->free_chunk_space); fs_info 213 fs/btrfs/space-info.c void btrfs_try_granting_tickets(struct btrfs_fs_info *fs_info, fs_info 231 fs/btrfs/space-info.c can_overcommit(fs_info, space_info, ticket->bytes, flush, fs_info 233 fs/btrfs/space-info.c btrfs_space_info_update_bytes_may_use(fs_info, fs_info 252 fs/btrfs/space-info.c #define DUMP_BLOCK_RSV(fs_info, rsv_name) \ fs_info 254 fs/btrfs/space-info.c struct btrfs_block_rsv *__rsv = &(fs_info)->rsv_name; \ fs_info 256 fs/btrfs/space-info.c btrfs_info(fs_info, #rsv_name ": size %llu reserved %llu", \ fs_info 261 fs/btrfs/space-info.c static void __btrfs_dump_space_info(struct btrfs_fs_info *fs_info, fs_info 266 fs/btrfs/space-info.c btrfs_info(fs_info, "space_info %llu has %llu free, is %sfull", fs_info 270 fs/btrfs/space-info.c btrfs_info(fs_info, fs_info 276 fs/btrfs/space-info.c DUMP_BLOCK_RSV(fs_info, global_block_rsv); fs_info 277 fs/btrfs/space-info.c DUMP_BLOCK_RSV(fs_info, trans_block_rsv); fs_info 278 fs/btrfs/space-info.c DUMP_BLOCK_RSV(fs_info, chunk_block_rsv); fs_info 279 fs/btrfs/space-info.c DUMP_BLOCK_RSV(fs_info, delayed_block_rsv); fs_info 280 fs/btrfs/space-info.c DUMP_BLOCK_RSV(fs_info, delayed_refs_rsv); fs_info 284 fs/btrfs/space-info.c void btrfs_dump_space_info(struct btrfs_fs_info *fs_info, fs_info 292 fs/btrfs/space-info.c __btrfs_dump_space_info(fs_info, info); fs_info 302 fs/btrfs/space-info.c btrfs_info(fs_info, fs_info 315 fs/btrfs/space-info.c static void btrfs_writeback_inodes_sb_nr(struct btrfs_fs_info *fs_info, fs_info 318 fs/btrfs/space-info.c struct super_block *sb = fs_info->sb; fs_info 331 fs/btrfs/space-info.c btrfs_start_delalloc_roots(fs_info, nr_items); fs_info 333 fs/btrfs/space-info.c btrfs_wait_ordered_roots(fs_info, nr_items, 0, (u64)-1); fs_info 337 fs/btrfs/space-info.c static inline u64 calc_reclaim_items_nr(struct btrfs_fs_info *fs_info, fs_info 343 fs/btrfs/space-info.c bytes = btrfs_calc_insert_metadata_size(fs_info, 1); fs_info 355 fs/btrfs/space-info.c static void shrink_delalloc(struct btrfs_fs_info *fs_info, u64 to_reclaim, fs_info 369 fs/btrfs/space-info.c items = calc_reclaim_items_nr(fs_info, to_reclaim); fs_info 373 fs/btrfs/space-info.c space_info = btrfs_find_space_info(fs_info, BTRFS_BLOCK_GROUP_METADATA); fs_info 376 fs/btrfs/space-info.c &fs_info->delalloc_bytes); fs_info 377 fs/btrfs/space-info.c dio_bytes = percpu_counter_sum_positive(&fs_info->dio_bytes); fs_info 382 fs/btrfs/space-info.c btrfs_wait_ordered_roots(fs_info, items, 0, (u64)-1); fs_info 403 fs/btrfs/space-info.c btrfs_writeback_inodes_sb_nr(fs_info, nr_pages, items); fs_info 409 fs/btrfs/space-info.c async_pages = atomic_read(&fs_info->async_delalloc_pages); fs_info 423 fs/btrfs/space-info.c wait_event(fs_info->async_submit_wait, fs_info 424 fs/btrfs/space-info.c atomic_read(&fs_info->async_delalloc_pages) <= fs_info 437 fs/btrfs/space-info.c btrfs_wait_ordered_roots(fs_info, items, 0, (u64)-1); fs_info 444 fs/btrfs/space-info.c &fs_info->delalloc_bytes); fs_info 445 fs/btrfs/space-info.c dio_bytes = percpu_counter_sum_positive(&fs_info->dio_bytes); fs_info 459 fs/btrfs/space-info.c static int may_commit_transaction(struct btrfs_fs_info *fs_info, fs_info 463 fs/btrfs/space-info.c struct btrfs_block_rsv *delayed_rsv = &fs_info->delayed_block_rsv; fs_info 464 fs/btrfs/space-info.c struct btrfs_block_rsv *delayed_refs_rsv = &fs_info->delayed_refs_rsv; fs_info 498 fs/btrfs/space-info.c trans = btrfs_join_transaction(fs_info->extent_root); fs_info 548 fs/btrfs/space-info.c static void flush_space(struct btrfs_fs_info *fs_info, fs_info 552 fs/btrfs/space-info.c struct btrfs_root *root = fs_info->extent_root; fs_info 561 fs/btrfs/space-info.c nr = calc_reclaim_items_nr(fs_info, num_bytes) * 2; fs_info 575 fs/btrfs/space-info.c shrink_delalloc(fs_info, num_bytes * 2, num_bytes, fs_info 586 fs/btrfs/space-info.c nr = calc_reclaim_items_nr(fs_info, num_bytes); fs_info 600 fs/btrfs/space-info.c btrfs_metadata_alloc_profile(fs_info), fs_info 613 fs/btrfs/space-info.c btrfs_run_delayed_iputs(fs_info); fs_info 614 fs/btrfs/space-info.c btrfs_wait_on_delayed_iputs(fs_info); fs_info 617 fs/btrfs/space-info.c ret = may_commit_transaction(fs_info, space_info); fs_info 624 fs/btrfs/space-info.c trace_btrfs_flush_space(fs_info, space_info->flags, num_bytes, state, fs_info 630 fs/btrfs/space-info.c btrfs_calc_reclaim_metadata_size(struct btrfs_fs_info *fs_info, fs_info 647 fs/btrfs/space-info.c if (can_overcommit(fs_info, space_info, to_reclaim, fs_info 653 fs/btrfs/space-info.c if (can_overcommit(fs_info, space_info, SZ_1M, fs_info 668 fs/btrfs/space-info.c static inline int need_do_async_reclaim(struct btrfs_fs_info *fs_info, fs_info 678 fs/btrfs/space-info.c if (!btrfs_calc_reclaim_metadata_size(fs_info, space_info, fs_info 682 fs/btrfs/space-info.c return (used >= thresh && !btrfs_fs_closing(fs_info) && fs_info 683 fs/btrfs/space-info.c !test_bit(BTRFS_FS_STATE_REMOUNTING, &fs_info->fs_state)); fs_info 701 fs/btrfs/space-info.c static bool maybe_fail_all_tickets(struct btrfs_fs_info *fs_info, fs_info 708 fs/btrfs/space-info.c if (btrfs_test_opt(fs_info, ENOSPC_DEBUG)) { fs_info 709 fs/btrfs/space-info.c btrfs_info(fs_info, "cannot satisfy tickets, dumping space info"); fs_info 710 fs/btrfs/space-info.c __btrfs_dump_space_info(fs_info, space_info); fs_info 733 fs/btrfs/space-info.c if (btrfs_test_opt(fs_info, ENOSPC_DEBUG)) fs_info 734 fs/btrfs/space-info.c btrfs_info(fs_info, "failing ticket with %llu bytes", fs_info 747 fs/btrfs/space-info.c btrfs_try_granting_tickets(fs_info, space_info); fs_info 759 fs/btrfs/space-info.c struct btrfs_fs_info *fs_info; fs_info 766 fs/btrfs/space-info.c fs_info = container_of(work, struct btrfs_fs_info, async_reclaim_work); fs_info 767 fs/btrfs/space-info.c space_info = btrfs_find_space_info(fs_info, BTRFS_BLOCK_GROUP_METADATA); fs_info 770 fs/btrfs/space-info.c to_reclaim = btrfs_calc_reclaim_metadata_size(fs_info, space_info, fs_info 782 fs/btrfs/space-info.c flush_space(fs_info, space_info, to_reclaim, flush_state); fs_info 789 fs/btrfs/space-info.c to_reclaim = btrfs_calc_reclaim_metadata_size(fs_info, fs_info 817 fs/btrfs/space-info.c if (maybe_fail_all_tickets(fs_info, space_info)) { fs_info 853 fs/btrfs/space-info.c static void priority_reclaim_metadata_space(struct btrfs_fs_info *fs_info, fs_info 863 fs/btrfs/space-info.c to_reclaim = btrfs_calc_reclaim_metadata_size(fs_info, space_info, fs_info 873 fs/btrfs/space-info.c flush_space(fs_info, space_info, to_reclaim, states[flush_state]); fs_info 884 fs/btrfs/space-info.c static void wait_reserve_ticket(struct btrfs_fs_info *fs_info, fs_info 928 fs/btrfs/space-info.c static int handle_reserve_ticket(struct btrfs_fs_info *fs_info, fs_info 937 fs/btrfs/space-info.c wait_reserve_ticket(fs_info, space_info, ticket); fs_info 940 fs/btrfs/space-info.c priority_reclaim_metadata_space(fs_info, space_info, ticket, fs_info 945 fs/btrfs/space-info.c priority_reclaim_metadata_space(fs_info, space_info, ticket, fs_info 992 fs/btrfs/space-info.c static int __reserve_metadata_bytes(struct btrfs_fs_info *fs_info, fs_info 1018 fs/btrfs/space-info.c can_overcommit(fs_info, space_info, orig_bytes, flush, fs_info 1020 fs/btrfs/space-info.c btrfs_space_info_update_bytes_may_use(fs_info, space_info, fs_info 1040 fs/btrfs/space-info.c trace_btrfs_trigger_flush(fs_info, fs_info 1045 fs/btrfs/space-info.c &fs_info->async_reclaim_work); fs_info 1058 fs/btrfs/space-info.c if (!test_bit(BTRFS_FS_LOG_RECOVERING, &fs_info->flags) && fs_info 1059 fs/btrfs/space-info.c need_do_async_reclaim(fs_info, space_info, fs_info 1061 fs/btrfs/space-info.c !work_busy(&fs_info->async_reclaim_work)) { fs_info 1062 fs/btrfs/space-info.c trace_btrfs_trigger_flush(fs_info, space_info->flags, fs_info 1065 fs/btrfs/space-info.c &fs_info->async_reclaim_work); fs_info 1072 fs/btrfs/space-info.c return handle_reserve_ticket(fs_info, space_info, &ticket, flush); fs_info 1094 fs/btrfs/space-info.c struct btrfs_fs_info *fs_info = root->fs_info; fs_info 1095 fs/btrfs/space-info.c struct btrfs_block_rsv *global_rsv = &fs_info->global_block_rsv; fs_info 1097 fs/btrfs/space-info.c bool system_chunk = (root == fs_info->chunk_root); fs_info 1099 fs/btrfs/space-info.c ret = __reserve_metadata_bytes(fs_info, block_rsv->space_info, fs_info 1108 fs/btrfs/space-info.c trace_btrfs_space_reservation(fs_info, "space_info:enospc", fs_info 1112 fs/btrfs/space-info.c if (btrfs_test_opt(fs_info, ENOSPC_DEBUG)) fs_info 1113 fs/btrfs/space-info.c btrfs_dump_space_info(fs_info, block_rsv->space_info, fs_info 91 fs/btrfs/space-info.h btrfs_space_info_update_##name(struct btrfs_fs_info *fs_info, \ fs_info 97 fs/btrfs/space-info.h trace_update_##name(fs_info, sinfo, sinfo->name, bytes); \ fs_info 98 fs/btrfs/space-info.h trace_btrfs_space_reservation(fs_info, trace_name, \ fs_info 112 fs/btrfs/space-info.h int btrfs_init_space_info(struct btrfs_fs_info *fs_info); fs_info 122 fs/btrfs/space-info.h void btrfs_dump_space_info(struct btrfs_fs_info *fs_info, fs_info 129 fs/btrfs/space-info.h void btrfs_try_granting_tickets(struct btrfs_fs_info *fs_info, fs_info 133 fs/btrfs/space-info.h struct btrfs_fs_info *fs_info, fs_info 138 fs/btrfs/space-info.h btrfs_space_info_update_bytes_may_use(fs_info, space_info, -num_bytes); fs_info 139 fs/btrfs/space-info.h btrfs_try_granting_tickets(fs_info, space_info); fs_info 102 fs/btrfs/super.c void __btrfs_handle_fs_error(struct btrfs_fs_info *fs_info, const char *function, fs_info 105 fs/btrfs/super.c struct super_block *sb = fs_info->sb; fs_info 140 fs/btrfs/super.c set_bit(BTRFS_FS_STATE_ERROR, &fs_info->fs_state); fs_info 151 fs/btrfs/super.c btrfs_info(fs_info, "forced readonly"); fs_info 190 fs/btrfs/super.c void btrfs_printk(const struct btrfs_fs_info *fs_info, const char *fmt, ...) fs_info 218 fs/btrfs/super.c fs_info ? fs_info->sb->s_id : "<unknown>", &vaf); fs_info 242 fs/btrfs/super.c struct btrfs_fs_info *fs_info = trans->fs_info; fs_info 251 fs/btrfs/super.c btrfs_warn(fs_info, fs_info 258 fs/btrfs/super.c wake_up(&fs_info->transaction_wait); fs_info 259 fs/btrfs/super.c wake_up(&fs_info->transaction_blocked_wait); fs_info 260 fs/btrfs/super.c __btrfs_handle_fs_error(fs_info, function, line, errno, NULL); fs_info 267 fs/btrfs/super.c void __btrfs_panic(struct btrfs_fs_info *fs_info, const char *function, fs_info 275 fs/btrfs/super.c if (fs_info) fs_info 276 fs/btrfs/super.c s_id = fs_info->sb->s_id; fs_info 282 fs/btrfs/super.c if (fs_info && (btrfs_test_opt(fs_info, PANIC_ON_FATAL_ERROR))) fs_info 286 fs/btrfs/super.c btrfs_crit(fs_info, "panic in %s:%d: %pV (errno=%d %s)", fs_info 1008 fs/btrfs/super.c static char *get_subvol_name_from_objectid(struct btrfs_fs_info *fs_info, fs_info 1011 fs/btrfs/super.c struct btrfs_root *root = fs_info->tree_root; fs_info 1080 fs/btrfs/super.c fs_root = btrfs_read_fs_root_no_name(fs_info, &key); fs_info 1144 fs/btrfs/super.c static int get_default_subvol_objectid(struct btrfs_fs_info *fs_info, u64 *objectid) fs_info 1146 fs/btrfs/super.c struct btrfs_root *root = fs_info->tree_root; fs_info 1162 fs/btrfs/super.c dir_id = btrfs_super_root_dir(fs_info->super_copy); fs_info 1190 fs/btrfs/super.c struct btrfs_fs_info *fs_info = btrfs_sb(sb); fs_info 1209 fs/btrfs/super.c btrfs_err(fs_info, "super_setup_bdi failed"); fs_info 1215 fs/btrfs/super.c btrfs_err(fs_info, "open_ctree failed"); fs_info 1222 fs/btrfs/super.c inode = btrfs_iget(sb, &key, fs_info->fs_root, NULL); fs_info 1239 fs/btrfs/super.c close_ctree(fs_info); fs_info 1246 fs/btrfs/super.c struct btrfs_fs_info *fs_info = btrfs_sb(sb); fs_info 1247 fs/btrfs/super.c struct btrfs_root *root = fs_info->tree_root; fs_info 1249 fs/btrfs/super.c trace_btrfs_sync_fs(fs_info, wait); fs_info 1252 fs/btrfs/super.c filemap_flush(fs_info->btree_inode->i_mapping); fs_info 1256 fs/btrfs/super.c btrfs_wait_ordered_roots(fs_info, U64_MAX, 0, (u64)-1); fs_info 1266 fs/btrfs/super.c if (fs_info->pending_changes == 0) fs_info 1382 fs/btrfs/super.c struct btrfs_fs_info *fs_info = btrfs_sb(s); fs_info 1384 fs/btrfs/super.c return fs_info->fs_devices == p->fs_devices; fs_info 1436 fs/btrfs/super.c struct btrfs_fs_info *fs_info = btrfs_sb(s); fs_info 1442 fs/btrfs/super.c btrfs_err(fs_info, "'%s' is not a valid subvolume", fs_info 1452 fs/btrfs/super.c btrfs_err(fs_info, fs_info 1483 fs/btrfs/super.c struct btrfs_fs_info *fs_info = NULL; fs_info 1503 fs/btrfs/super.c fs_info = kvzalloc(sizeof(struct btrfs_fs_info), GFP_KERNEL); fs_info 1504 fs/btrfs/super.c if (!fs_info) { fs_info 1509 fs/btrfs/super.c fs_info->super_copy = kzalloc(BTRFS_SUPER_INFO_SIZE, GFP_KERNEL); fs_info 1510 fs/btrfs/super.c fs_info->super_for_commit = kzalloc(BTRFS_SUPER_INFO_SIZE, GFP_KERNEL); fs_info 1511 fs/btrfs/super.c if (!fs_info->super_copy || !fs_info->super_for_commit) { fs_info 1531 fs/btrfs/super.c fs_info->fs_devices = fs_devices; fs_info 1545 fs/btrfs/super.c fs_info); fs_info 1553 fs/btrfs/super.c free_fs_info(fs_info); fs_info 1560 fs/btrfs/super.c set_bit(BTRFS_FS_CSUM_IMPL_FAST, &fs_info->flags); fs_info 1576 fs/btrfs/super.c free_fs_info(fs_info); fs_info 1659 fs/btrfs/super.c static void btrfs_resize_thread_pool(struct btrfs_fs_info *fs_info, fs_info 1665 fs/btrfs/super.c fs_info->thread_pool_size = new_pool_size; fs_info 1667 fs/btrfs/super.c btrfs_info(fs_info, "resize thread pool %d -> %d", fs_info 1670 fs/btrfs/super.c btrfs_workqueue_set_max(fs_info->workers, new_pool_size); fs_info 1671 fs/btrfs/super.c btrfs_workqueue_set_max(fs_info->delalloc_workers, new_pool_size); fs_info 1672 fs/btrfs/super.c btrfs_workqueue_set_max(fs_info->submit_workers, new_pool_size); fs_info 1673 fs/btrfs/super.c btrfs_workqueue_set_max(fs_info->caching_workers, new_pool_size); fs_info 1674 fs/btrfs/super.c btrfs_workqueue_set_max(fs_info->endio_workers, new_pool_size); fs_info 1675 fs/btrfs/super.c btrfs_workqueue_set_max(fs_info->endio_meta_workers, new_pool_size); fs_info 1676 fs/btrfs/super.c btrfs_workqueue_set_max(fs_info->endio_meta_write_workers, fs_info 1678 fs/btrfs/super.c btrfs_workqueue_set_max(fs_info->endio_write_workers, new_pool_size); fs_info 1679 fs/btrfs/super.c btrfs_workqueue_set_max(fs_info->endio_freespace_worker, new_pool_size); fs_info 1680 fs/btrfs/super.c btrfs_workqueue_set_max(fs_info->delayed_workers, new_pool_size); fs_info 1681 fs/btrfs/super.c btrfs_workqueue_set_max(fs_info->readahead_workers, new_pool_size); fs_info 1682 fs/btrfs/super.c btrfs_workqueue_set_max(fs_info->scrub_wr_completion_workers, fs_info 1686 fs/btrfs/super.c static inline void btrfs_remount_prepare(struct btrfs_fs_info *fs_info) fs_info 1688 fs/btrfs/super.c set_bit(BTRFS_FS_STATE_REMOUNTING, &fs_info->fs_state); fs_info 1691 fs/btrfs/super.c static inline void btrfs_remount_begin(struct btrfs_fs_info *fs_info, fs_info 1695 fs/btrfs/super.c (!btrfs_raw_test_opt(fs_info->mount_opt, AUTO_DEFRAG) || fs_info 1698 fs/btrfs/super.c wait_event(fs_info->transaction_wait, fs_info 1699 fs/btrfs/super.c (atomic_read(&fs_info->defrag_running) == 0)); fs_info 1701 fs/btrfs/super.c sync_filesystem(fs_info->sb); fs_info 1705 fs/btrfs/super.c static inline void btrfs_remount_cleanup(struct btrfs_fs_info *fs_info, fs_info 1713 fs/btrfs/super.c (!btrfs_raw_test_opt(fs_info->mount_opt, AUTO_DEFRAG) || sb_rdonly(fs_info->sb))) { fs_info 1714 fs/btrfs/super.c btrfs_cleanup_defrag_inodes(fs_info); fs_info 1717 fs/btrfs/super.c clear_bit(BTRFS_FS_STATE_REMOUNTING, &fs_info->fs_state); fs_info 1722 fs/btrfs/super.c struct btrfs_fs_info *fs_info = btrfs_sb(sb); fs_info 1723 fs/btrfs/super.c struct btrfs_root *root = fs_info->tree_root; fs_info 1725 fs/btrfs/super.c unsigned long old_opts = fs_info->mount_opt; fs_info 1726 fs/btrfs/super.c unsigned long old_compress_type = fs_info->compress_type; fs_info 1727 fs/btrfs/super.c u64 old_max_inline = fs_info->max_inline; fs_info 1728 fs/btrfs/super.c u32 old_thread_pool_size = fs_info->thread_pool_size; fs_info 1729 fs/btrfs/super.c u32 old_metadata_ratio = fs_info->metadata_ratio; fs_info 1733 fs/btrfs/super.c btrfs_remount_prepare(fs_info); fs_info 1746 fs/btrfs/super.c ret = btrfs_parse_options(fs_info, data, *flags); fs_info 1750 fs/btrfs/super.c btrfs_remount_begin(fs_info, old_opts, *flags); fs_info 1751 fs/btrfs/super.c btrfs_resize_thread_pool(fs_info, fs_info 1752 fs/btrfs/super.c fs_info->thread_pool_size, old_thread_pool_size); fs_info 1762 fs/btrfs/super.c cancel_work_sync(&fs_info->async_reclaim_work); fs_info 1765 fs/btrfs/super.c down(&fs_info->uuid_tree_rescan_sem); fs_info 1767 fs/btrfs/super.c up(&fs_info->uuid_tree_rescan_sem); fs_info 1778 fs/btrfs/super.c btrfs_delete_unused_bgs(fs_info); fs_info 1780 fs/btrfs/super.c btrfs_dev_replace_suspend_for_unmount(fs_info); fs_info 1781 fs/btrfs/super.c btrfs_scrub_cancel(fs_info); fs_info 1782 fs/btrfs/super.c btrfs_pause_balance(fs_info); fs_info 1784 fs/btrfs/super.c ret = btrfs_commit_super(fs_info); fs_info 1788 fs/btrfs/super.c if (test_bit(BTRFS_FS_STATE_ERROR, &fs_info->fs_state)) { fs_info 1789 fs/btrfs/super.c btrfs_err(fs_info, fs_info 1794 fs/btrfs/super.c if (fs_info->fs_devices->rw_devices == 0) { fs_info 1799 fs/btrfs/super.c if (!btrfs_check_rw_degradable(fs_info, NULL)) { fs_info 1800 fs/btrfs/super.c btrfs_warn(fs_info, fs_info 1806 fs/btrfs/super.c if (btrfs_super_log_root(fs_info->super_copy) != 0) { fs_info 1807 fs/btrfs/super.c btrfs_warn(fs_info, fs_info 1813 fs/btrfs/super.c ret = btrfs_cleanup_fs_roots(fs_info); fs_info 1818 fs/btrfs/super.c mutex_lock(&fs_info->cleaner_mutex); fs_info 1820 fs/btrfs/super.c mutex_unlock(&fs_info->cleaner_mutex); fs_info 1824 fs/btrfs/super.c ret = btrfs_resume_balance_async(fs_info); fs_info 1828 fs/btrfs/super.c ret = btrfs_resume_dev_replace_async(fs_info); fs_info 1830 fs/btrfs/super.c btrfs_warn(fs_info, "failed to resume dev_replace"); fs_info 1834 fs/btrfs/super.c btrfs_qgroup_rescan_resume(fs_info); fs_info 1836 fs/btrfs/super.c if (!fs_info->uuid_root) { fs_info 1837 fs/btrfs/super.c btrfs_info(fs_info, "creating UUID tree"); fs_info 1838 fs/btrfs/super.c ret = btrfs_create_uuid_tree(fs_info); fs_info 1840 fs/btrfs/super.c btrfs_warn(fs_info, fs_info 1848 fs/btrfs/super.c set_bit(BTRFS_FS_OPEN, &fs_info->flags); fs_info 1851 fs/btrfs/super.c wake_up_process(fs_info->transaction_kthread); fs_info 1852 fs/btrfs/super.c btrfs_remount_cleanup(fs_info, old_opts); fs_info 1860 fs/btrfs/super.c fs_info->mount_opt = old_opts; fs_info 1861 fs/btrfs/super.c fs_info->compress_type = old_compress_type; fs_info 1862 fs/btrfs/super.c fs_info->max_inline = old_max_inline; fs_info 1863 fs/btrfs/super.c btrfs_resize_thread_pool(fs_info, fs_info 1864 fs/btrfs/super.c old_thread_pool_size, fs_info->thread_pool_size); fs_info 1865 fs/btrfs/super.c fs_info->metadata_ratio = old_metadata_ratio; fs_info 1866 fs/btrfs/super.c btrfs_remount_cleanup(fs_info, old_opts); fs_info 1900 fs/btrfs/super.c static inline int btrfs_calc_avail_data_space(struct btrfs_fs_info *fs_info, fs_info 1904 fs/btrfs/super.c struct btrfs_fs_devices *fs_devices = fs_info->fs_devices; fs_info 1917 fs/btrfs/super.c nr_devices = fs_info->fs_devices->open_devices; fs_info 1920 fs/btrfs/super.c nr_devices = fs_info->fs_devices->open_devices; fs_info 1934 fs/btrfs/super.c type = btrfs_data_alloc_profile(fs_info); fs_info 2025 fs/btrfs/super.c struct btrfs_fs_info *fs_info = btrfs_sb(dentry->d_sb); fs_info 2026 fs/btrfs/super.c struct btrfs_super_block *disk_super = fs_info->super_copy; fs_info 2027 fs/btrfs/super.c struct list_head *head = &fs_info->space_info; fs_info 2033 fs/btrfs/super.c __be32 *fsid = (__be32 *)fs_info->fs_devices->fsid; fs_info 2035 fs/btrfs/super.c struct btrfs_block_rsv *block_rsv = &fs_info->global_block_rsv; fs_info 2086 fs/btrfs/super.c ret = btrfs_calc_avail_data_space(fs_info, &total_free_data); fs_info 2138 fs/btrfs/super.c struct btrfs_fs_info *fs_info = btrfs_sb(sb); fs_info 2140 fs/btrfs/super.c free_fs_info(fs_info); fs_info 2226 fs/btrfs/super.c struct btrfs_fs_info *fs_info = btrfs_sb(sb); fs_info 2227 fs/btrfs/super.c struct btrfs_root *root = fs_info->tree_root; fs_info 2229 fs/btrfs/super.c set_bit(BTRFS_FS_FROZEN, &fs_info->flags); fs_info 2248 fs/btrfs/super.c struct btrfs_fs_info *fs_info = btrfs_sb(sb); fs_info 2250 fs/btrfs/super.c clear_bit(BTRFS_FS_FROZEN, &fs_info->flags); fs_info 2256 fs/btrfs/super.c struct btrfs_fs_info *fs_info = btrfs_sb(root->d_sb); fs_info 2269 fs/btrfs/super.c cur_devices = fs_info->fs_devices; fs_info 88 fs/btrfs/sysfs.c static u64 get_features(struct btrfs_fs_info *fs_info, fs_info 91 fs/btrfs/sysfs.c struct btrfs_super_block *disk_super = fs_info->super_copy; fs_info 100 fs/btrfs/sysfs.c static void set_features(struct btrfs_fs_info *fs_info, fs_info 103 fs/btrfs/sysfs.c struct btrfs_super_block *disk_super = fs_info->super_copy; fs_info 147 fs/btrfs/sysfs.c struct btrfs_fs_info *fs_info = to_fs_info(kobj); fs_info 149 fs/btrfs/sysfs.c if (fs_info) { fs_info 150 fs/btrfs/sysfs.c u64 features = get_features(fs_info, fa->feature_set); fs_info 163 fs/btrfs/sysfs.c struct btrfs_fs_info *fs_info; fs_info 169 fs/btrfs/sysfs.c fs_info = to_fs_info(kobj); fs_info 170 fs/btrfs/sysfs.c if (!fs_info) fs_info 173 fs/btrfs/sysfs.c if (sb_rdonly(fs_info->sb)) fs_info 191 fs/btrfs/sysfs.c features = get_features(fs_info, fa->feature_set); fs_info 200 fs/btrfs/sysfs.c btrfs_info(fs_info, fs_info 206 fs/btrfs/sysfs.c btrfs_info(fs_info, "%s %s feature flag", fs_info 209 fs/btrfs/sysfs.c spin_lock(&fs_info->super_lock); fs_info 210 fs/btrfs/sysfs.c features = get_features(fs_info, fa->feature_set); fs_info 215 fs/btrfs/sysfs.c set_features(fs_info, fa->feature_set, features); fs_info 216 fs/btrfs/sysfs.c spin_unlock(&fs_info->super_lock); fs_info 221 fs/btrfs/sysfs.c btrfs_set_pending(fs_info, COMMIT); fs_info 222 fs/btrfs/sysfs.c wake_up_process(fs_info->transaction_kthread); fs_info 230 fs/btrfs/sysfs.c struct btrfs_fs_info *fs_info = to_fs_info(kobj); fs_info 233 fs/btrfs/sysfs.c if (fs_info) { fs_info 238 fs/btrfs/sysfs.c features = get_features(fs_info, fa->feature_set); fs_info 347 fs/btrfs/sysfs.c struct btrfs_fs_info *fs_info = to_fs_info(kobj->parent); fs_info 348 fs/btrfs/sysfs.c struct btrfs_block_rsv *block_rsv = &fs_info->global_block_rsv; fs_info 356 fs/btrfs/sysfs.c struct btrfs_fs_info *fs_info = to_fs_info(kobj->parent); fs_info 357 fs/btrfs/sysfs.c struct btrfs_block_rsv *block_rsv = &fs_info->global_block_rsv; fs_info 476 fs/btrfs/sysfs.c struct btrfs_fs_info *fs_info = to_fs_info(kobj); fs_info 477 fs/btrfs/sysfs.c char *label = fs_info->super_copy->label; fs_info 480 fs/btrfs/sysfs.c spin_lock(&fs_info->super_lock); fs_info 482 fs/btrfs/sysfs.c spin_unlock(&fs_info->super_lock); fs_info 491 fs/btrfs/sysfs.c struct btrfs_fs_info *fs_info = to_fs_info(kobj); fs_info 494 fs/btrfs/sysfs.c if (!fs_info) fs_info 497 fs/btrfs/sysfs.c if (sb_rdonly(fs_info->sb)) fs_info 509 fs/btrfs/sysfs.c spin_lock(&fs_info->super_lock); fs_info 510 fs/btrfs/sysfs.c memset(fs_info->super_copy->label, 0, BTRFS_LABEL_SIZE); fs_info 511 fs/btrfs/sysfs.c memcpy(fs_info->super_copy->label, buf, p_len); fs_info 512 fs/btrfs/sysfs.c spin_unlock(&fs_info->super_lock); fs_info 517 fs/btrfs/sysfs.c btrfs_set_pending(fs_info, COMMIT); fs_info 518 fs/btrfs/sysfs.c wake_up_process(fs_info->transaction_kthread); fs_info 527 fs/btrfs/sysfs.c struct btrfs_fs_info *fs_info = to_fs_info(kobj); fs_info 529 fs/btrfs/sysfs.c return snprintf(buf, PAGE_SIZE, "%u\n", fs_info->super_copy->nodesize); fs_info 537 fs/btrfs/sysfs.c struct btrfs_fs_info *fs_info = to_fs_info(kobj); fs_info 540 fs/btrfs/sysfs.c fs_info->super_copy->sectorsize); fs_info 548 fs/btrfs/sysfs.c struct btrfs_fs_info *fs_info = to_fs_info(kobj); fs_info 551 fs/btrfs/sysfs.c fs_info->super_copy->sectorsize); fs_info 559 fs/btrfs/sysfs.c struct btrfs_fs_info *fs_info = to_fs_info(kobj); fs_info 562 fs/btrfs/sysfs.c quota_override = test_bit(BTRFS_FS_QUOTA_OVERRIDE, &fs_info->flags); fs_info 570 fs/btrfs/sysfs.c struct btrfs_fs_info *fs_info = to_fs_info(kobj); fs_info 574 fs/btrfs/sysfs.c if (!fs_info) fs_info 587 fs/btrfs/sysfs.c set_bit(BTRFS_FS_QUOTA_OVERRIDE, &fs_info->flags); fs_info 589 fs/btrfs/sysfs.c clear_bit(BTRFS_FS_QUOTA_OVERRIDE, &fs_info->flags); fs_info 599 fs/btrfs/sysfs.c struct btrfs_fs_info *fs_info = to_fs_info(kobj); fs_info 602 fs/btrfs/sysfs.c fs_info->fs_devices->metadata_uuid); fs_info 641 fs/btrfs/sysfs.c return to_fs_devs(kobj)->fs_info; fs_info 655 fs/btrfs/sysfs.c static int addrm_unknown_feature_attrs(struct btrfs_fs_info *fs_info, bool add) fs_info 666 fs/btrfs/sysfs.c u64 features = get_features(fs_info, set); fs_info 683 fs/btrfs/sysfs.c ret = sysfs_merge_group(&fs_info->fs_devices->fsid_kobj, fs_info 688 fs/btrfs/sysfs.c sysfs_unmerge_group(&fs_info->fs_devices->fsid_kobj, fs_info 726 fs/btrfs/sysfs.c void btrfs_sysfs_remove_mounted(struct btrfs_fs_info *fs_info) fs_info 728 fs/btrfs/sysfs.c btrfs_reset_fs_info_ptr(fs_info); fs_info 730 fs/btrfs/sysfs.c if (fs_info->space_info_kobj) { fs_info 731 fs/btrfs/sysfs.c sysfs_remove_files(fs_info->space_info_kobj, allocation_attrs); fs_info 732 fs/btrfs/sysfs.c kobject_del(fs_info->space_info_kobj); fs_info 733 fs/btrfs/sysfs.c kobject_put(fs_info->space_info_kobj); fs_info 735 fs/btrfs/sysfs.c addrm_unknown_feature_attrs(fs_info, false); fs_info 736 fs/btrfs/sysfs.c sysfs_remove_group(&fs_info->fs_devices->fsid_kobj, &btrfs_feature_attr_group); fs_info 737 fs/btrfs/sysfs.c sysfs_remove_files(&fs_info->fs_devices->fsid_kobj, btrfs_attrs); fs_info 738 fs/btrfs/sysfs.c btrfs_sysfs_rm_device_link(fs_info->fs_devices, NULL); fs_info 827 fs/btrfs/sysfs.c struct btrfs_fs_info *fs_info = cache->fs_info; fs_info 846 fs/btrfs/sysfs.c btrfs_warn(cache->fs_info, fs_info 858 fs/btrfs/sysfs.c btrfs_warn(fs_info, fs_info 909 fs/btrfs/sysfs.c int btrfs_sysfs_add_space_info_type(struct btrfs_fs_info *fs_info, fs_info 915 fs/btrfs/sysfs.c fs_info->space_info_kobj, "%s", fs_info 1023 fs/btrfs/sysfs.c btrfs_warn(fs_devices->fs_info, fs_info 1051 fs/btrfs/sysfs.c int btrfs_sysfs_add_mounted(struct btrfs_fs_info *fs_info) fs_info 1054 fs/btrfs/sysfs.c struct btrfs_fs_devices *fs_devs = fs_info->fs_devices; fs_info 1057 fs/btrfs/sysfs.c btrfs_set_fs_info_ptr(fs_info); fs_info 1081 fs/btrfs/sysfs.c error = addrm_unknown_feature_attrs(fs_info, true); fs_info 1085 fs/btrfs/sysfs.c fs_info->space_info_kobj = kobject_create_and_add("allocation", fs_info 1087 fs/btrfs/sysfs.c if (!fs_info->space_info_kobj) { fs_info 1092 fs/btrfs/sysfs.c error = sysfs_create_files(fs_info->space_info_kobj, allocation_attrs); fs_info 1098 fs/btrfs/sysfs.c btrfs_sysfs_remove_mounted(fs_info); fs_info 1107 fs/btrfs/sysfs.c void btrfs_sysfs_feature_update(struct btrfs_fs_info *fs_info, fs_info 1115 fs/btrfs/sysfs.c if (!fs_info) fs_info 1118 fs/btrfs/sysfs.c features = get_features(fs_info, set); fs_info 1121 fs/btrfs/sysfs.c fs_devs = fs_info->fs_devices; fs_info 27 fs/btrfs/sysfs.h void btrfs_sysfs_feature_update(struct btrfs_fs_info *fs_info, fs_info 33 fs/btrfs/sysfs.h int btrfs_sysfs_add_mounted(struct btrfs_fs_info *fs_info); fs_info 34 fs/btrfs/sysfs.h void btrfs_sysfs_remove_mounted(struct btrfs_fs_info *fs_info); fs_info 36 fs/btrfs/sysfs.h int btrfs_sysfs_add_space_info_type(struct btrfs_fs_info *fs_info, fs_info 91 fs/btrfs/tests/btrfs-tests.c struct btrfs_fs_info *fs_info = kzalloc(sizeof(struct btrfs_fs_info), fs_info 94 fs/btrfs/tests/btrfs-tests.c if (!fs_info) fs_info 95 fs/btrfs/tests/btrfs-tests.c return fs_info; fs_info 96 fs/btrfs/tests/btrfs-tests.c fs_info->fs_devices = kzalloc(sizeof(struct btrfs_fs_devices), fs_info 98 fs/btrfs/tests/btrfs-tests.c if (!fs_info->fs_devices) { fs_info 99 fs/btrfs/tests/btrfs-tests.c kfree(fs_info); fs_info 102 fs/btrfs/tests/btrfs-tests.c fs_info->super_copy = kzalloc(sizeof(struct btrfs_super_block), fs_info 104 fs/btrfs/tests/btrfs-tests.c if (!fs_info->super_copy) { fs_info 105 fs/btrfs/tests/btrfs-tests.c kfree(fs_info->fs_devices); fs_info 106 fs/btrfs/tests/btrfs-tests.c kfree(fs_info); fs_info 110 fs/btrfs/tests/btrfs-tests.c fs_info->nodesize = nodesize; fs_info 111 fs/btrfs/tests/btrfs-tests.c fs_info->sectorsize = sectorsize; fs_info 113 fs/btrfs/tests/btrfs-tests.c if (init_srcu_struct(&fs_info->subvol_srcu)) { fs_info 114 fs/btrfs/tests/btrfs-tests.c kfree(fs_info->fs_devices); fs_info 115 fs/btrfs/tests/btrfs-tests.c kfree(fs_info->super_copy); fs_info 116 fs/btrfs/tests/btrfs-tests.c kfree(fs_info); fs_info 120 fs/btrfs/tests/btrfs-tests.c spin_lock_init(&fs_info->buffer_lock); fs_info 121 fs/btrfs/tests/btrfs-tests.c spin_lock_init(&fs_info->qgroup_lock); fs_info 122 fs/btrfs/tests/btrfs-tests.c spin_lock_init(&fs_info->super_lock); fs_info 123 fs/btrfs/tests/btrfs-tests.c spin_lock_init(&fs_info->fs_roots_radix_lock); fs_info 124 fs/btrfs/tests/btrfs-tests.c mutex_init(&fs_info->qgroup_ioctl_lock); fs_info 125 fs/btrfs/tests/btrfs-tests.c mutex_init(&fs_info->qgroup_rescan_lock); fs_info 126 fs/btrfs/tests/btrfs-tests.c rwlock_init(&fs_info->tree_mod_log_lock); fs_info 127 fs/btrfs/tests/btrfs-tests.c fs_info->running_transaction = NULL; fs_info 128 fs/btrfs/tests/btrfs-tests.c fs_info->qgroup_tree = RB_ROOT; fs_info 129 fs/btrfs/tests/btrfs-tests.c fs_info->qgroup_ulist = NULL; fs_info 130 fs/btrfs/tests/btrfs-tests.c atomic64_set(&fs_info->tree_mod_seq, 0); fs_info 131 fs/btrfs/tests/btrfs-tests.c INIT_LIST_HEAD(&fs_info->dirty_qgroups); fs_info 132 fs/btrfs/tests/btrfs-tests.c INIT_LIST_HEAD(&fs_info->dead_roots); fs_info 133 fs/btrfs/tests/btrfs-tests.c INIT_LIST_HEAD(&fs_info->tree_mod_seq_list); fs_info 134 fs/btrfs/tests/btrfs-tests.c INIT_RADIX_TREE(&fs_info->buffer_radix, GFP_ATOMIC); fs_info 135 fs/btrfs/tests/btrfs-tests.c INIT_RADIX_TREE(&fs_info->fs_roots_radix, GFP_ATOMIC); fs_info 136 fs/btrfs/tests/btrfs-tests.c extent_io_tree_init(fs_info, &fs_info->freed_extents[0], fs_info 138 fs/btrfs/tests/btrfs-tests.c extent_io_tree_init(fs_info, &fs_info->freed_extents[1], fs_info 140 fs/btrfs/tests/btrfs-tests.c fs_info->pinned_extents = &fs_info->freed_extents[0]; fs_info 141 fs/btrfs/tests/btrfs-tests.c set_bit(BTRFS_FS_STATE_DUMMY_FS_INFO, &fs_info->fs_state); fs_info 143 fs/btrfs/tests/btrfs-tests.c test_mnt->mnt_sb->s_fs_info = fs_info; fs_info 145 fs/btrfs/tests/btrfs-tests.c return fs_info; fs_info 148 fs/btrfs/tests/btrfs-tests.c void btrfs_free_dummy_fs_info(struct btrfs_fs_info *fs_info) fs_info 153 fs/btrfs/tests/btrfs-tests.c if (!fs_info) fs_info 157 fs/btrfs/tests/btrfs-tests.c &fs_info->fs_state))) fs_info 162 fs/btrfs/tests/btrfs-tests.c spin_lock(&fs_info->buffer_lock); fs_info 163 fs/btrfs/tests/btrfs-tests.c radix_tree_for_each_slot(slot, &fs_info->buffer_radix, &iter, 0) { fs_info 166 fs/btrfs/tests/btrfs-tests.c eb = radix_tree_deref_slot_protected(slot, &fs_info->buffer_lock); fs_info 176 fs/btrfs/tests/btrfs-tests.c spin_unlock(&fs_info->buffer_lock); fs_info 178 fs/btrfs/tests/btrfs-tests.c spin_lock(&fs_info->buffer_lock); fs_info 180 fs/btrfs/tests/btrfs-tests.c spin_unlock(&fs_info->buffer_lock); fs_info 182 fs/btrfs/tests/btrfs-tests.c btrfs_free_qgroup_config(fs_info); fs_info 183 fs/btrfs/tests/btrfs-tests.c btrfs_free_fs_roots(fs_info); fs_info 184 fs/btrfs/tests/btrfs-tests.c cleanup_srcu_struct(&fs_info->subvol_srcu); fs_info 185 fs/btrfs/tests/btrfs-tests.c kfree(fs_info->super_copy); fs_info 186 fs/btrfs/tests/btrfs-tests.c kfree(fs_info->fs_devices); fs_info 187 fs/btrfs/tests/btrfs-tests.c kfree(fs_info); fs_info 205 fs/btrfs/tests/btrfs-tests.c btrfs_alloc_dummy_block_group(struct btrfs_fs_info *fs_info, fs_info 223 fs/btrfs/tests/btrfs-tests.c cache->full_stripe_len = fs_info->sectorsize; fs_info 224 fs/btrfs/tests/btrfs-tests.c cache->fs_info = fs_info; fs_info 245 fs/btrfs/tests/btrfs-tests.c struct btrfs_fs_info *fs_info) fs_info 250 fs/btrfs/tests/btrfs-tests.c trans->fs_info = fs_info; fs_info 42 fs/btrfs/tests/btrfs-tests.h void btrfs_free_dummy_fs_info(struct btrfs_fs_info *fs_info); fs_info 45 fs/btrfs/tests/btrfs-tests.h btrfs_alloc_dummy_block_group(struct btrfs_fs_info *fs_info, unsigned long length); fs_info 48 fs/btrfs/tests/btrfs-tests.h struct btrfs_fs_info *fs_info); fs_info 14 fs/btrfs/tests/extent-buffer-tests.c struct btrfs_fs_info *fs_info; fs_info 31 fs/btrfs/tests/extent-buffer-tests.c fs_info = btrfs_alloc_dummy_fs_info(nodesize, sectorsize); fs_info 32 fs/btrfs/tests/extent-buffer-tests.c if (!fs_info) { fs_info 37 fs/btrfs/tests/extent-buffer-tests.c root = btrfs_alloc_dummy_root(fs_info); fs_info 51 fs/btrfs/tests/extent-buffer-tests.c path->nodes[0] = eb = alloc_dummy_extent_buffer(fs_info, nodesize); fs_info 217 fs/btrfs/tests/extent-buffer-tests.c btrfs_free_dummy_fs_info(fs_info); fs_info 381 fs/btrfs/tests/extent-io-tests.c struct btrfs_fs_info *fs_info; fs_info 396 fs/btrfs/tests/extent-io-tests.c fs_info = btrfs_alloc_dummy_fs_info(len, len); fs_info 397 fs/btrfs/tests/extent-io-tests.c if (!fs_info) { fs_info 409 fs/btrfs/tests/extent-io-tests.c eb = __alloc_dummy_extent_buffer(fs_info, 0, len); fs_info 422 fs/btrfs/tests/extent-io-tests.c eb = __alloc_dummy_extent_buffer(fs_info, nodesize / 2, len); fs_info 433 fs/btrfs/tests/extent-io-tests.c btrfs_free_dummy_fs_info(fs_info); fs_info 50 fs/btrfs/tests/extent-map-tests.c static int test_case_1(struct btrfs_fs_info *fs_info, fs_info 112 fs/btrfs/tests/extent-map-tests.c ret = btrfs_add_extent_mapping(fs_info, em_tree, &em, em->start, em->len); fs_info 140 fs/btrfs/tests/extent-map-tests.c static int test_case_2(struct btrfs_fs_info *fs_info, fs_info 200 fs/btrfs/tests/extent-map-tests.c ret = btrfs_add_extent_mapping(fs_info, em_tree, &em, em->start, em->len); fs_info 222 fs/btrfs/tests/extent-map-tests.c static int __test_case_3(struct btrfs_fs_info *fs_info, fs_info 262 fs/btrfs/tests/extent-map-tests.c ret = btrfs_add_extent_mapping(fs_info, em_tree, &em, start, len); fs_info 305 fs/btrfs/tests/extent-map-tests.c static int test_case_3(struct btrfs_fs_info *fs_info, fs_info 310 fs/btrfs/tests/extent-map-tests.c ret = __test_case_3(fs_info, em_tree, 0); fs_info 313 fs/btrfs/tests/extent-map-tests.c ret = __test_case_3(fs_info, em_tree, SZ_8K); fs_info 316 fs/btrfs/tests/extent-map-tests.c ret = __test_case_3(fs_info, em_tree, (12 * SZ_1K)); fs_info 321 fs/btrfs/tests/extent-map-tests.c static int __test_case_4(struct btrfs_fs_info *fs_info, fs_info 381 fs/btrfs/tests/extent-map-tests.c ret = btrfs_add_extent_mapping(fs_info, em_tree, &em, start, len); fs_info 427 fs/btrfs/tests/extent-map-tests.c static int test_case_4(struct btrfs_fs_info *fs_info, fs_info 432 fs/btrfs/tests/extent-map-tests.c ret = __test_case_4(fs_info, em_tree, 0); fs_info 435 fs/btrfs/tests/extent-map-tests.c ret = __test_case_4(fs_info, em_tree, SZ_4K); fs_info 442 fs/btrfs/tests/extent-map-tests.c struct btrfs_fs_info *fs_info = NULL; fs_info 452 fs/btrfs/tests/extent-map-tests.c fs_info = btrfs_alloc_dummy_fs_info(PAGE_SIZE, PAGE_SIZE); fs_info 453 fs/btrfs/tests/extent-map-tests.c if (!fs_info) { fs_info 466 fs/btrfs/tests/extent-map-tests.c ret = test_case_1(fs_info, em_tree); fs_info 469 fs/btrfs/tests/extent-map-tests.c ret = test_case_2(fs_info, em_tree); fs_info 472 fs/btrfs/tests/extent-map-tests.c ret = test_case_3(fs_info, em_tree); fs_info 475 fs/btrfs/tests/extent-map-tests.c ret = test_case_4(fs_info, em_tree); fs_info 479 fs/btrfs/tests/extent-map-tests.c btrfs_free_dummy_fs_info(fs_info); fs_info 831 fs/btrfs/tests/free-space-tests.c struct btrfs_fs_info *fs_info; fs_info 837 fs/btrfs/tests/free-space-tests.c fs_info = btrfs_alloc_dummy_fs_info(nodesize, sectorsize); fs_info 838 fs/btrfs/tests/free-space-tests.c if (!fs_info) { fs_info 848 fs/btrfs/tests/free-space-tests.c cache = btrfs_alloc_dummy_block_group(fs_info, fs_info 852 fs/btrfs/tests/free-space-tests.c btrfs_free_dummy_fs_info(fs_info); fs_info 856 fs/btrfs/tests/free-space-tests.c root = btrfs_alloc_dummy_root(fs_info); fs_info 863 fs/btrfs/tests/free-space-tests.c root->fs_info->extent_root = root; fs_info 879 fs/btrfs/tests/free-space-tests.c btrfs_free_dummy_fs_info(fs_info); fs_info 20 fs/btrfs/tests/free-space-tree-tests.c struct btrfs_fs_info *fs_info, fs_info 72 fs/btrfs/tests/free-space-tree-tests.c offset += fs_info->sectorsize; fs_info 109 fs/btrfs/tests/free-space-tree-tests.c struct btrfs_fs_info *fs_info, fs_info 128 fs/btrfs/tests/free-space-tree-tests.c ret = __check_free_space_extents(trans, fs_info, cache, path, extents, fs_info 147 fs/btrfs/tests/free-space-tree-tests.c return __check_free_space_extents(trans, fs_info, cache, path, extents, fs_info 152 fs/btrfs/tests/free-space-tree-tests.c struct btrfs_fs_info *fs_info, fs_info 161 fs/btrfs/tests/free-space-tree-tests.c return check_free_space_extents(trans, fs_info, cache, path, fs_info 166 fs/btrfs/tests/free-space-tree-tests.c struct btrfs_fs_info *fs_info, fs_info 182 fs/btrfs/tests/free-space-tree-tests.c return check_free_space_extents(trans, fs_info, cache, path, fs_info 187 fs/btrfs/tests/free-space-tree-tests.c struct btrfs_fs_info *fs_info, fs_info 205 fs/btrfs/tests/free-space-tree-tests.c return check_free_space_extents(trans, fs_info, cache, path, fs_info 211 fs/btrfs/tests/free-space-tree-tests.c struct btrfs_fs_info *fs_info, fs_info 230 fs/btrfs/tests/free-space-tree-tests.c return check_free_space_extents(trans, fs_info, cache, path, fs_info 235 fs/btrfs/tests/free-space-tree-tests.c struct btrfs_fs_info *fs_info, fs_info 255 fs/btrfs/tests/free-space-tree-tests.c return check_free_space_extents(trans, fs_info, cache, path, fs_info 260 fs/btrfs/tests/free-space-tree-tests.c struct btrfs_fs_info *fs_info, fs_info 293 fs/btrfs/tests/free-space-tree-tests.c return check_free_space_extents(trans, fs_info, cache, path, fs_info 298 fs/btrfs/tests/free-space-tree-tests.c struct btrfs_fs_info *fs_info, fs_info 332 fs/btrfs/tests/free-space-tree-tests.c return check_free_space_extents(trans, fs_info, cache, path, fs_info 337 fs/btrfs/tests/free-space-tree-tests.c struct btrfs_fs_info *fs_info, fs_info 378 fs/btrfs/tests/free-space-tree-tests.c return check_free_space_extents(trans, fs_info, cache, path, fs_info 383 fs/btrfs/tests/free-space-tree-tests.c struct btrfs_fs_info *fs_info, fs_info 426 fs/btrfs/tests/free-space-tree-tests.c return check_free_space_extents(trans, fs_info, cache, path, fs_info 439 fs/btrfs/tests/free-space-tree-tests.c struct btrfs_fs_info *fs_info; fs_info 446 fs/btrfs/tests/free-space-tree-tests.c fs_info = btrfs_alloc_dummy_fs_info(nodesize, sectorsize); fs_info 447 fs/btrfs/tests/free-space-tree-tests.c if (!fs_info) { fs_info 453 fs/btrfs/tests/free-space-tree-tests.c root = btrfs_alloc_dummy_root(fs_info); fs_info 460 fs/btrfs/tests/free-space-tree-tests.c btrfs_set_super_compat_ro_flags(root->fs_info->super_copy, fs_info 462 fs/btrfs/tests/free-space-tree-tests.c root->fs_info->free_space_root = root; fs_info 463 fs/btrfs/tests/free-space-tree-tests.c root->fs_info->tree_root = root; fs_info 465 fs/btrfs/tests/free-space-tree-tests.c root->node = alloc_test_extent_buffer(root->fs_info, nodesize); fs_info 475 fs/btrfs/tests/free-space-tree-tests.c cache = btrfs_alloc_dummy_block_group(fs_info, 8 * alignment); fs_info 484 fs/btrfs/tests/free-space-tree-tests.c cache->fs_info = root->fs_info; fs_info 486 fs/btrfs/tests/free-space-tree-tests.c btrfs_init_dummy_trans(&trans, root->fs_info); fs_info 509 fs/btrfs/tests/free-space-tree-tests.c ret = test_func(&trans, root->fs_info, cache, path, alignment); fs_info 530 fs/btrfs/tests/free-space-tree-tests.c btrfs_free_dummy_fs_info(fs_info); fs_info 220 fs/btrfs/tests/inode-tests.c struct btrfs_fs_info *fs_info = NULL; fs_info 242 fs/btrfs/tests/inode-tests.c fs_info = btrfs_alloc_dummy_fs_info(nodesize, sectorsize); fs_info 243 fs/btrfs/tests/inode-tests.c if (!fs_info) { fs_info 248 fs/btrfs/tests/inode-tests.c root = btrfs_alloc_dummy_root(fs_info); fs_info 254 fs/btrfs/tests/inode-tests.c root->node = alloc_dummy_extent_buffer(fs_info, nodesize); fs_info 821 fs/btrfs/tests/inode-tests.c btrfs_free_dummy_fs_info(fs_info); fs_info 827 fs/btrfs/tests/inode-tests.c struct btrfs_fs_info *fs_info = NULL; fs_info 845 fs/btrfs/tests/inode-tests.c fs_info = btrfs_alloc_dummy_fs_info(nodesize, sectorsize); fs_info 846 fs/btrfs/tests/inode-tests.c if (!fs_info) { fs_info 851 fs/btrfs/tests/inode-tests.c root = btrfs_alloc_dummy_root(fs_info); fs_info 857 fs/btrfs/tests/inode-tests.c root->node = alloc_dummy_extent_buffer(fs_info, nodesize); fs_info 924 fs/btrfs/tests/inode-tests.c btrfs_free_dummy_fs_info(fs_info); fs_info 930 fs/btrfs/tests/inode-tests.c struct btrfs_fs_info *fs_info = NULL; fs_info 943 fs/btrfs/tests/inode-tests.c fs_info = btrfs_alloc_dummy_fs_info(nodesize, sectorsize); fs_info 944 fs/btrfs/tests/inode-tests.c if (!fs_info) { fs_info 949 fs/btrfs/tests/inode-tests.c root = btrfs_alloc_dummy_root(fs_info); fs_info 1108 fs/btrfs/tests/inode-tests.c btrfs_free_dummy_fs_info(fs_info); fs_info 211 fs/btrfs/tests/qgroup-tests.c struct btrfs_fs_info *fs_info = root->fs_info; fs_info 216 fs/btrfs/tests/qgroup-tests.c btrfs_init_dummy_trans(&trans, fs_info); fs_info 230 fs/btrfs/tests/qgroup-tests.c ret = btrfs_find_all_roots(&trans, fs_info, nodesize, 0, &old_roots, fs_info 243 fs/btrfs/tests/qgroup-tests.c ret = btrfs_find_all_roots(&trans, fs_info, nodesize, 0, &new_roots, fs_info 259 fs/btrfs/tests/qgroup-tests.c if (btrfs_verify_qgroup_counts(fs_info, BTRFS_FS_TREE_OBJECTID, fs_info 267 fs/btrfs/tests/qgroup-tests.c ret = btrfs_find_all_roots(&trans, fs_info, nodesize, 0, &old_roots, fs_info 279 fs/btrfs/tests/qgroup-tests.c ret = btrfs_find_all_roots(&trans, fs_info, nodesize, 0, &new_roots, fs_info 295 fs/btrfs/tests/qgroup-tests.c if (btrfs_verify_qgroup_counts(fs_info, BTRFS_FS_TREE_OBJECTID, 0, 0)) { fs_info 312 fs/btrfs/tests/qgroup-tests.c struct btrfs_fs_info *fs_info = root->fs_info; fs_info 317 fs/btrfs/tests/qgroup-tests.c btrfs_init_dummy_trans(&trans, fs_info); fs_info 331 fs/btrfs/tests/qgroup-tests.c ret = btrfs_find_all_roots(&trans, fs_info, nodesize, 0, &old_roots, fs_info 344 fs/btrfs/tests/qgroup-tests.c ret = btrfs_find_all_roots(&trans, fs_info, nodesize, 0, &new_roots, fs_info 360 fs/btrfs/tests/qgroup-tests.c if (btrfs_verify_qgroup_counts(fs_info, BTRFS_FS_TREE_OBJECTID, fs_info 366 fs/btrfs/tests/qgroup-tests.c ret = btrfs_find_all_roots(&trans, fs_info, nodesize, 0, &old_roots, fs_info 379 fs/btrfs/tests/qgroup-tests.c ret = btrfs_find_all_roots(&trans, fs_info, nodesize, 0, &new_roots, fs_info 395 fs/btrfs/tests/qgroup-tests.c if (btrfs_verify_qgroup_counts(fs_info, BTRFS_FS_TREE_OBJECTID, fs_info 401 fs/btrfs/tests/qgroup-tests.c if (btrfs_verify_qgroup_counts(fs_info, BTRFS_FIRST_FREE_OBJECTID, fs_info 407 fs/btrfs/tests/qgroup-tests.c ret = btrfs_find_all_roots(&trans, fs_info, nodesize, 0, &old_roots, fs_info 420 fs/btrfs/tests/qgroup-tests.c ret = btrfs_find_all_roots(&trans, fs_info, nodesize, 0, &new_roots, fs_info 436 fs/btrfs/tests/qgroup-tests.c if (btrfs_verify_qgroup_counts(fs_info, BTRFS_FIRST_FREE_OBJECTID, fs_info 442 fs/btrfs/tests/qgroup-tests.c if (btrfs_verify_qgroup_counts(fs_info, BTRFS_FS_TREE_OBJECTID, fs_info 453 fs/btrfs/tests/qgroup-tests.c struct btrfs_fs_info *fs_info = NULL; fs_info 458 fs/btrfs/tests/qgroup-tests.c fs_info = btrfs_alloc_dummy_fs_info(nodesize, sectorsize); fs_info 459 fs/btrfs/tests/qgroup-tests.c if (!fs_info) { fs_info 464 fs/btrfs/tests/qgroup-tests.c root = btrfs_alloc_dummy_root(fs_info); fs_info 472 fs/btrfs/tests/qgroup-tests.c root->fs_info->extent_root = root; fs_info 478 fs/btrfs/tests/qgroup-tests.c root->fs_info->tree_root = root; fs_info 479 fs/btrfs/tests/qgroup-tests.c root->fs_info->quota_root = root; fs_info 480 fs/btrfs/tests/qgroup-tests.c set_bit(BTRFS_FS_QUOTA_ENABLED, &fs_info->flags); fs_info 486 fs/btrfs/tests/qgroup-tests.c root->node = alloc_test_extent_buffer(root->fs_info, nodesize); fs_info 496 fs/btrfs/tests/qgroup-tests.c tmp_root = btrfs_alloc_dummy_root(fs_info); fs_info 504 fs/btrfs/tests/qgroup-tests.c root->fs_info->fs_root = tmp_root; fs_info 505 fs/btrfs/tests/qgroup-tests.c ret = btrfs_insert_fs_root(root->fs_info, tmp_root); fs_info 511 fs/btrfs/tests/qgroup-tests.c tmp_root = btrfs_alloc_dummy_root(fs_info); fs_info 519 fs/btrfs/tests/qgroup-tests.c ret = btrfs_insert_fs_root(root->fs_info, tmp_root); fs_info 532 fs/btrfs/tests/qgroup-tests.c btrfs_free_dummy_fs_info(fs_info); fs_info 57 fs/btrfs/transaction.c btrfs_err(transaction->fs_info, fs_info 85 fs/btrfs/transaction.c struct btrfs_fs_info *fs_info = trans->fs_info; fs_info 88 fs/btrfs/transaction.c down_write(&fs_info->commit_root_sem); fs_info 108 fs/btrfs/transaction.c btrfs_drop_and_free_fs_root(fs_info, root); fs_info 112 fs/btrfs/transaction.c up_write(&fs_info->commit_root_sem); fs_info 146 fs/btrfs/transaction.c struct btrfs_fs_info *fs_info = trans->fs_info; fs_info 153 fs/btrfs/transaction.c btrfs_block_rsv_release(fs_info, &fs_info->chunk_block_rsv, fs_info 161 fs/btrfs/transaction.c static noinline int join_transaction(struct btrfs_fs_info *fs_info, fs_info 166 fs/btrfs/transaction.c spin_lock(&fs_info->trans_lock); fs_info 169 fs/btrfs/transaction.c if (test_bit(BTRFS_FS_STATE_ERROR, &fs_info->fs_state)) { fs_info 170 fs/btrfs/transaction.c spin_unlock(&fs_info->trans_lock); fs_info 174 fs/btrfs/transaction.c cur_trans = fs_info->running_transaction; fs_info 177 fs/btrfs/transaction.c spin_unlock(&fs_info->trans_lock); fs_info 181 fs/btrfs/transaction.c spin_unlock(&fs_info->trans_lock); fs_info 187 fs/btrfs/transaction.c spin_unlock(&fs_info->trans_lock); fs_info 190 fs/btrfs/transaction.c spin_unlock(&fs_info->trans_lock); fs_info 209 fs/btrfs/transaction.c spin_lock(&fs_info->trans_lock); fs_info 210 fs/btrfs/transaction.c if (fs_info->running_transaction) { fs_info 217 fs/btrfs/transaction.c } else if (test_bit(BTRFS_FS_STATE_ERROR, &fs_info->fs_state)) { fs_info 218 fs/btrfs/transaction.c spin_unlock(&fs_info->trans_lock); fs_info 223 fs/btrfs/transaction.c cur_trans->fs_info = fs_info; fs_info 248 fs/btrfs/transaction.c if (!list_empty(&fs_info->tree_mod_seq_list)) fs_info 250 fs/btrfs/transaction.c if (!RB_EMPTY_ROOT(&fs_info->tree_mod_log)) fs_info 252 fs/btrfs/transaction.c atomic64_set(&fs_info->tree_mod_seq, 0); fs_info 266 fs/btrfs/transaction.c list_add_tail(&cur_trans->list, &fs_info->trans_list); fs_info 267 fs/btrfs/transaction.c extent_io_tree_init(fs_info, &cur_trans->dirty_pages, fs_info 268 fs/btrfs/transaction.c IO_TREE_TRANS_DIRTY_PAGES, fs_info->btree_inode); fs_info 269 fs/btrfs/transaction.c fs_info->generation++; fs_info 270 fs/btrfs/transaction.c cur_trans->transid = fs_info->generation; fs_info 271 fs/btrfs/transaction.c fs_info->running_transaction = cur_trans; fs_info 273 fs/btrfs/transaction.c spin_unlock(&fs_info->trans_lock); fs_info 288 fs/btrfs/transaction.c struct btrfs_fs_info *fs_info = root->fs_info; fs_info 292 fs/btrfs/transaction.c WARN_ON(root == fs_info->extent_root); fs_info 307 fs/btrfs/transaction.c spin_lock(&fs_info->fs_roots_radix_lock); fs_info 309 fs/btrfs/transaction.c spin_unlock(&fs_info->fs_roots_radix_lock); fs_info 312 fs/btrfs/transaction.c radix_tree_tag_set(&fs_info->fs_roots_radix, fs_info 315 fs/btrfs/transaction.c spin_unlock(&fs_info->fs_roots_radix_lock); fs_info 348 fs/btrfs/transaction.c struct btrfs_fs_info *fs_info = root->fs_info; fs_info 357 fs/btrfs/transaction.c spin_lock(&fs_info->fs_roots_radix_lock); fs_info 358 fs/btrfs/transaction.c radix_tree_tag_clear(&fs_info->fs_roots_radix, fs_info 361 fs/btrfs/transaction.c spin_unlock(&fs_info->fs_roots_radix_lock); fs_info 367 fs/btrfs/transaction.c struct btrfs_fs_info *fs_info = root->fs_info; fs_info 381 fs/btrfs/transaction.c mutex_lock(&fs_info->reloc_mutex); fs_info 383 fs/btrfs/transaction.c mutex_unlock(&fs_info->reloc_mutex); fs_info 399 fs/btrfs/transaction.c static void wait_current_trans(struct btrfs_fs_info *fs_info) fs_info 403 fs/btrfs/transaction.c spin_lock(&fs_info->trans_lock); fs_info 404 fs/btrfs/transaction.c cur_trans = fs_info->running_transaction; fs_info 407 fs/btrfs/transaction.c spin_unlock(&fs_info->trans_lock); fs_info 409 fs/btrfs/transaction.c wait_event(fs_info->transaction_wait, fs_info 414 fs/btrfs/transaction.c spin_unlock(&fs_info->trans_lock); fs_info 418 fs/btrfs/transaction.c static int may_wait_transaction(struct btrfs_fs_info *fs_info, int type) fs_info 420 fs/btrfs/transaction.c if (test_bit(BTRFS_FS_LOG_RECOVERING, &fs_info->flags)) fs_info 431 fs/btrfs/transaction.c struct btrfs_fs_info *fs_info = root->fs_info; fs_info 433 fs/btrfs/transaction.c if (!fs_info->reloc_ctl || fs_info 447 fs/btrfs/transaction.c struct btrfs_fs_info *fs_info = root->fs_info; fs_info 448 fs/btrfs/transaction.c struct btrfs_block_rsv *delayed_refs_rsv = &fs_info->delayed_refs_rsv; fs_info 459 fs/btrfs/transaction.c if (test_bit(BTRFS_FS_STATE_ERROR, &fs_info->fs_state)) fs_info 476 fs/btrfs/transaction.c if (num_items && root != fs_info->chunk_root) { fs_info 477 fs/btrfs/transaction.c struct btrfs_block_rsv *rsv = &fs_info->trans_block_rsv; fs_info 480 fs/btrfs/transaction.c qgroup_reserved = num_items * fs_info->nodesize; fs_info 493 fs/btrfs/transaction.c num_bytes = btrfs_calc_insert_metadata_size(fs_info, num_items); fs_info 503 fs/btrfs/transaction.c num_bytes += fs_info->nodesize; fs_info 511 fs/btrfs/transaction.c btrfs_migrate_to_delayed_refs_rsv(fs_info, rsv, fs_info 524 fs/btrfs/transaction.c ret = btrfs_delayed_refs_rsv_refill(fs_info, flush); fs_info 546 fs/btrfs/transaction.c sb_start_intwrite(fs_info->sb); fs_info 548 fs/btrfs/transaction.c if (may_wait_transaction(fs_info, type)) fs_info 549 fs/btrfs/transaction.c wait_current_trans(fs_info); fs_info 552 fs/btrfs/transaction.c ret = join_transaction(fs_info, type); fs_info 554 fs/btrfs/transaction.c wait_current_trans(fs_info); fs_info 564 fs/btrfs/transaction.c cur_trans = fs_info->running_transaction; fs_info 570 fs/btrfs/transaction.c h->fs_info = root->fs_info; fs_info 578 fs/btrfs/transaction.c may_wait_transaction(fs_info, type)) { fs_info 585 fs/btrfs/transaction.c trace_btrfs_space_reservation(fs_info, "transaction", fs_info 587 fs/btrfs/transaction.c h->block_rsv = &fs_info->trans_block_rsv; fs_info 610 fs/btrfs/transaction.c sb_end_intwrite(fs_info->sb); fs_info 614 fs/btrfs/transaction.c btrfs_block_rsv_release(fs_info, &fs_info->trans_block_rsv, fs_info 633 fs/btrfs/transaction.c struct btrfs_fs_info *fs_info = root->fs_info; fs_info 653 fs/btrfs/transaction.c num_bytes = btrfs_calc_insert_metadata_size(fs_info, num_items); fs_info 654 fs/btrfs/transaction.c ret = btrfs_cond_migrate_bytes(fs_info, &fs_info->trans_block_rsv, fs_info 661 fs/btrfs/transaction.c trans->block_rsv = &fs_info->trans_block_rsv; fs_info 663 fs/btrfs/transaction.c trace_btrfs_space_reservation(fs_info, "transaction", fs_info 725 fs/btrfs/transaction.c btrfs_wait_for_commit(root->fs_info, 0); fs_info 736 fs/btrfs/transaction.c int btrfs_wait_for_commit(struct btrfs_fs_info *fs_info, u64 transid) fs_info 742 fs/btrfs/transaction.c if (transid <= fs_info->last_trans_committed) fs_info 746 fs/btrfs/transaction.c spin_lock(&fs_info->trans_lock); fs_info 747 fs/btrfs/transaction.c list_for_each_entry(t, &fs_info->trans_list, list) { fs_info 759 fs/btrfs/transaction.c spin_unlock(&fs_info->trans_lock); fs_info 766 fs/btrfs/transaction.c if (transid > fs_info->last_trans_committed) fs_info 772 fs/btrfs/transaction.c spin_lock(&fs_info->trans_lock); fs_info 773 fs/btrfs/transaction.c list_for_each_entry_reverse(t, &fs_info->trans_list, fs_info 783 fs/btrfs/transaction.c spin_unlock(&fs_info->trans_lock); fs_info 794 fs/btrfs/transaction.c void btrfs_throttle(struct btrfs_fs_info *fs_info) fs_info 796 fs/btrfs/transaction.c wait_current_trans(fs_info); fs_info 801 fs/btrfs/transaction.c struct btrfs_fs_info *fs_info = trans->fs_info; fs_info 803 fs/btrfs/transaction.c if (btrfs_check_space_for_delayed_refs(fs_info)) fs_info 806 fs/btrfs/transaction.c return !!btrfs_block_rsv_check(&fs_info->global_block_rsv, 5); fs_info 824 fs/btrfs/transaction.c struct btrfs_fs_info *fs_info = trans->fs_info; fs_info 834 fs/btrfs/transaction.c ASSERT(trans->block_rsv == &fs_info->trans_block_rsv); fs_info 835 fs/btrfs/transaction.c trace_btrfs_space_reservation(fs_info, "transaction", fs_info 837 fs/btrfs/transaction.c btrfs_block_rsv_release(fs_info, trans->block_rsv, fs_info 845 fs/btrfs/transaction.c struct btrfs_fs_info *info = trans->fs_info; fs_info 912 fs/btrfs/transaction.c int btrfs_write_marked_extents(struct btrfs_fs_info *fs_info, fs_info 917 fs/btrfs/transaction.c struct address_space *mapping = fs_info->btree_inode->i_mapping; fs_info 922 fs/btrfs/transaction.c atomic_inc(&BTRFS_I(fs_info->btree_inode)->sync_writers); fs_info 958 fs/btrfs/transaction.c atomic_dec(&BTRFS_I(fs_info->btree_inode)->sync_writers); fs_info 968 fs/btrfs/transaction.c static int __btrfs_wait_marked_extents(struct btrfs_fs_info *fs_info, fs_info 973 fs/btrfs/transaction.c struct address_space *mapping = fs_info->btree_inode->i_mapping; fs_info 1006 fs/btrfs/transaction.c int btrfs_wait_extents(struct btrfs_fs_info *fs_info, fs_info 1012 fs/btrfs/transaction.c err = __btrfs_wait_marked_extents(fs_info, dirty_pages); fs_info 1013 fs/btrfs/transaction.c if (test_and_clear_bit(BTRFS_FS_BTREE_ERR, &fs_info->flags)) fs_info 1023 fs/btrfs/transaction.c struct btrfs_fs_info *fs_info = log_root->fs_info; fs_info 1030 fs/btrfs/transaction.c err = __btrfs_wait_marked_extents(fs_info, dirty_pages); fs_info 1032 fs/btrfs/transaction.c test_and_clear_bit(BTRFS_FS_LOG1_ERR, &fs_info->flags)) fs_info 1036 fs/btrfs/transaction.c test_and_clear_bit(BTRFS_FS_LOG2_ERR, &fs_info->flags)) fs_info 1056 fs/btrfs/transaction.c struct btrfs_fs_info *fs_info = trans->fs_info; fs_info 1060 fs/btrfs/transaction.c ret = btrfs_write_marked_extents(fs_info, dirty_pages, EXTENT_DIRTY); fs_info 1062 fs/btrfs/transaction.c ret2 = btrfs_wait_extents(fs_info, dirty_pages); fs_info 1090 fs/btrfs/transaction.c struct btrfs_fs_info *fs_info = root->fs_info; fs_info 1091 fs/btrfs/transaction.c struct btrfs_root *tree_root = fs_info->tree_root; fs_info 1123 fs/btrfs/transaction.c struct btrfs_fs_info *fs_info = trans->fs_info; fs_info 1130 fs/btrfs/transaction.c eb = btrfs_lock_root_node(fs_info->tree_root); fs_info 1131 fs/btrfs/transaction.c ret = btrfs_cow_block(trans, fs_info->tree_root, eb, NULL, fs_info 1162 fs/btrfs/transaction.c while (!list_empty(&fs_info->dirty_cowonly_roots)) { fs_info 1164 fs/btrfs/transaction.c next = fs_info->dirty_cowonly_roots.next; fs_info 1169 fs/btrfs/transaction.c if (root != fs_info->extent_root) fs_info 1189 fs/btrfs/transaction.c if (!list_empty(&fs_info->dirty_cowonly_roots)) fs_info 1192 fs/btrfs/transaction.c list_add_tail(&fs_info->extent_root->dirty_list, fs_info 1196 fs/btrfs/transaction.c fs_info->dev_replace.committed_cursor_left = fs_info 1197 fs/btrfs/transaction.c fs_info->dev_replace.cursor_left_last_write_of_item; fs_info 1209 fs/btrfs/transaction.c struct btrfs_fs_info *fs_info = root->fs_info; fs_info 1211 fs/btrfs/transaction.c spin_lock(&fs_info->trans_lock); fs_info 1213 fs/btrfs/transaction.c list_add_tail(&root->root_list, &fs_info->dead_roots); fs_info 1214 fs/btrfs/transaction.c spin_unlock(&fs_info->trans_lock); fs_info 1222 fs/btrfs/transaction.c struct btrfs_fs_info *fs_info = trans->fs_info; fs_info 1228 fs/btrfs/transaction.c spin_lock(&fs_info->fs_roots_radix_lock); fs_info 1230 fs/btrfs/transaction.c ret = radix_tree_gang_lookup_tag(&fs_info->fs_roots_radix, fs_info 1238 fs/btrfs/transaction.c radix_tree_tag_clear(&fs_info->fs_roots_radix, fs_info 1241 fs/btrfs/transaction.c spin_unlock(&fs_info->fs_roots_radix_lock); fs_info 1259 fs/btrfs/transaction.c err = btrfs_update_root(trans, fs_info->tree_root, fs_info 1262 fs/btrfs/transaction.c spin_lock(&fs_info->fs_roots_radix_lock); fs_info 1268 fs/btrfs/transaction.c spin_unlock(&fs_info->fs_roots_radix_lock); fs_info 1278 fs/btrfs/transaction.c struct btrfs_fs_info *info = root->fs_info; fs_info 1322 fs/btrfs/transaction.c struct btrfs_fs_info *fs_info = src->fs_info; fs_info 1330 fs/btrfs/transaction.c if (!test_bit(BTRFS_FS_QUOTA_ENABLED, &fs_info->flags)) fs_info 1345 fs/btrfs/transaction.c mutex_lock(&fs_info->tree_log_mutex); fs_info 1378 fs/btrfs/transaction.c btrfs_handle_fs_error(fs_info, ret, fs_info 1382 fs/btrfs/transaction.c mutex_unlock(&fs_info->tree_log_mutex); fs_info 1408 fs/btrfs/transaction.c struct btrfs_fs_info *fs_info = trans->fs_info; fs_info 1411 fs/btrfs/transaction.c struct btrfs_root *tree_root = fs_info->tree_root; fs_info 1463 fs/btrfs/transaction.c trace_btrfs_space_reservation(fs_info, "transaction", fs_info 1583 fs/btrfs/transaction.c pending->snap = btrfs_read_fs_root_no_name(fs_info, &key); fs_info 1688 fs/btrfs/transaction.c static void update_super_roots(struct btrfs_fs_info *fs_info) fs_info 1693 fs/btrfs/transaction.c super = fs_info->super_copy; fs_info 1695 fs/btrfs/transaction.c root_item = &fs_info->chunk_root->root_item; fs_info 1700 fs/btrfs/transaction.c root_item = &fs_info->tree_root->root_item; fs_info 1704 fs/btrfs/transaction.c if (btrfs_test_opt(fs_info, SPACE_CACHE)) fs_info 1706 fs/btrfs/transaction.c if (test_bit(BTRFS_FS_UPDATE_UUID_TREE_GEN, &fs_info->flags)) fs_info 1740 fs/btrfs/transaction.c static void wait_current_trans_commit_start(struct btrfs_fs_info *fs_info, fs_info 1743 fs/btrfs/transaction.c wait_event(fs_info->transaction_blocked_wait, fs_info 1752 fs/btrfs/transaction.c struct btrfs_fs_info *fs_info, fs_info 1755 fs/btrfs/transaction.c wait_event(fs_info->transaction_wait, fs_info 1778 fs/btrfs/transaction.c __sb_writers_acquired(ac->newtrans->fs_info->sb, SB_FREEZE_FS); fs_info 1789 fs/btrfs/transaction.c struct btrfs_fs_info *fs_info = trans->fs_info; fs_info 1816 fs/btrfs/transaction.c __sb_writers_release(fs_info->sb, SB_FREEZE_FS); fs_info 1822 fs/btrfs/transaction.c wait_current_trans_commit_start_and_unblock(fs_info, cur_trans); fs_info 1824 fs/btrfs/transaction.c wait_current_trans_commit_start(fs_info, cur_trans); fs_info 1836 fs/btrfs/transaction.c struct btrfs_fs_info *fs_info = trans->fs_info; fs_info 1843 fs/btrfs/transaction.c spin_lock(&fs_info->trans_lock); fs_info 1853 fs/btrfs/transaction.c if (cur_trans == fs_info->running_transaction) { fs_info 1855 fs/btrfs/transaction.c spin_unlock(&fs_info->trans_lock); fs_info 1859 fs/btrfs/transaction.c spin_lock(&fs_info->trans_lock); fs_info 1861 fs/btrfs/transaction.c spin_unlock(&fs_info->trans_lock); fs_info 1863 fs/btrfs/transaction.c btrfs_cleanup_one_transaction(trans->transaction, fs_info); fs_info 1865 fs/btrfs/transaction.c spin_lock(&fs_info->trans_lock); fs_info 1866 fs/btrfs/transaction.c if (cur_trans == fs_info->running_transaction) fs_info 1867 fs/btrfs/transaction.c fs_info->running_transaction = NULL; fs_info 1868 fs/btrfs/transaction.c spin_unlock(&fs_info->trans_lock); fs_info 1871 fs/btrfs/transaction.c sb_end_intwrite(fs_info->sb); fs_info 1879 fs/btrfs/transaction.c btrfs_scrub_cancel(fs_info); fs_info 1890 fs/btrfs/transaction.c struct btrfs_fs_info *fs_info = trans->fs_info; fs_info 1894 fs/btrfs/transaction.c btrfs_delayed_refs_rsv_release(fs_info, 1); fs_info 1901 fs/btrfs/transaction.c struct btrfs_fs_info *fs_info = trans->fs_info; fs_info 1912 fs/btrfs/transaction.c if (btrfs_test_opt(fs_info, FLUSHONCOMMIT)) { fs_info 1913 fs/btrfs/transaction.c writeback_inodes_sb(fs_info->sb, WB_REASON_SYNC); fs_info 1938 fs/btrfs/transaction.c struct btrfs_fs_info *fs_info = trans->fs_info; fs_info 1940 fs/btrfs/transaction.c if (btrfs_test_opt(fs_info, FLUSHONCOMMIT)) { fs_info 1941 fs/btrfs/transaction.c btrfs_wait_ordered_roots(fs_info, U64_MAX, 0, (u64)-1); fs_info 1960 fs/btrfs/transaction.c struct btrfs_fs_info *fs_info = trans->fs_info; fs_info 2025 fs/btrfs/transaction.c mutex_lock(&fs_info->ro_block_group_mutex); fs_info 2029 fs/btrfs/transaction.c mutex_unlock(&fs_info->ro_block_group_mutex); fs_info 2040 fs/btrfs/transaction.c spin_lock(&fs_info->trans_lock); fs_info 2042 fs/btrfs/transaction.c spin_unlock(&fs_info->trans_lock); fs_info 2057 fs/btrfs/transaction.c wake_up(&fs_info->transaction_blocked_wait); fs_info 2059 fs/btrfs/transaction.c if (cur_trans->list.prev != &fs_info->trans_list) { fs_info 2064 fs/btrfs/transaction.c spin_unlock(&fs_info->trans_lock); fs_info 2073 fs/btrfs/transaction.c spin_unlock(&fs_info->trans_lock); fs_info 2076 fs/btrfs/transaction.c spin_unlock(&fs_info->trans_lock); fs_info 2083 fs/btrfs/transaction.c if (test_bit(BTRFS_FS_STATE_TRANS_ABORTED, &fs_info->fs_state)) { fs_info 2109 fs/btrfs/transaction.c btrfs_scrub_pause(fs_info); fs_info 2115 fs/btrfs/transaction.c spin_lock(&fs_info->trans_lock); fs_info 2117 fs/btrfs/transaction.c spin_unlock(&fs_info->trans_lock); fs_info 2131 fs/btrfs/transaction.c mutex_lock(&fs_info->reloc_mutex); fs_info 2140 fs/btrfs/transaction.c mutex_unlock(&fs_info->reloc_mutex); fs_info 2156 fs/btrfs/transaction.c mutex_unlock(&fs_info->reloc_mutex); fs_info 2162 fs/btrfs/transaction.c mutex_unlock(&fs_info->reloc_mutex); fs_info 2170 fs/btrfs/transaction.c btrfs_assert_delayed_root_empty(fs_info); fs_info 2187 fs/btrfs/transaction.c mutex_lock(&fs_info->tree_log_mutex); fs_info 2191 fs/btrfs/transaction.c mutex_unlock(&fs_info->tree_log_mutex); fs_info 2192 fs/btrfs/transaction.c mutex_unlock(&fs_info->reloc_mutex); fs_info 2200 fs/btrfs/transaction.c btrfs_apply_pending_changes(fs_info); fs_info 2205 fs/btrfs/transaction.c btrfs_free_log_root_tree(trans, fs_info); fs_info 2213 fs/btrfs/transaction.c mutex_unlock(&fs_info->tree_log_mutex); fs_info 2214 fs/btrfs/transaction.c mutex_unlock(&fs_info->reloc_mutex); fs_info 2224 fs/btrfs/transaction.c mutex_unlock(&fs_info->tree_log_mutex); fs_info 2225 fs/btrfs/transaction.c mutex_unlock(&fs_info->reloc_mutex); fs_info 2231 fs/btrfs/transaction.c mutex_unlock(&fs_info->tree_log_mutex); fs_info 2232 fs/btrfs/transaction.c mutex_unlock(&fs_info->reloc_mutex); fs_info 2242 fs/btrfs/transaction.c mutex_unlock(&fs_info->tree_log_mutex); fs_info 2243 fs/btrfs/transaction.c mutex_unlock(&fs_info->reloc_mutex); fs_info 2247 fs/btrfs/transaction.c btrfs_prepare_extent_commit(fs_info); fs_info 2249 fs/btrfs/transaction.c cur_trans = fs_info->running_transaction; fs_info 2251 fs/btrfs/transaction.c btrfs_set_root_node(&fs_info->tree_root->root_item, fs_info 2252 fs/btrfs/transaction.c fs_info->tree_root->node); fs_info 2253 fs/btrfs/transaction.c list_add_tail(&fs_info->tree_root->dirty_list, fs_info 2256 fs/btrfs/transaction.c btrfs_set_root_node(&fs_info->chunk_root->root_item, fs_info 2257 fs/btrfs/transaction.c fs_info->chunk_root->node); fs_info 2258 fs/btrfs/transaction.c list_add_tail(&fs_info->chunk_root->dirty_list, fs_info 2265 fs/btrfs/transaction.c update_super_roots(fs_info); fs_info 2267 fs/btrfs/transaction.c btrfs_set_super_log_root(fs_info->super_copy, 0); fs_info 2268 fs/btrfs/transaction.c btrfs_set_super_log_root_level(fs_info->super_copy, 0); fs_info 2269 fs/btrfs/transaction.c memcpy(fs_info->super_for_commit, fs_info->super_copy, fs_info 2270 fs/btrfs/transaction.c sizeof(*fs_info->super_copy)); fs_info 2274 fs/btrfs/transaction.c clear_bit(BTRFS_FS_LOG1_ERR, &fs_info->flags); fs_info 2275 fs/btrfs/transaction.c clear_bit(BTRFS_FS_LOG2_ERR, &fs_info->flags); fs_info 2279 fs/btrfs/transaction.c spin_lock(&fs_info->trans_lock); fs_info 2281 fs/btrfs/transaction.c fs_info->running_transaction = NULL; fs_info 2282 fs/btrfs/transaction.c spin_unlock(&fs_info->trans_lock); fs_info 2283 fs/btrfs/transaction.c mutex_unlock(&fs_info->reloc_mutex); fs_info 2285 fs/btrfs/transaction.c wake_up(&fs_info->transaction_wait); fs_info 2289 fs/btrfs/transaction.c btrfs_handle_fs_error(fs_info, ret, fs_info 2291 fs/btrfs/transaction.c mutex_unlock(&fs_info->tree_log_mutex); fs_info 2295 fs/btrfs/transaction.c ret = write_all_supers(fs_info, 0); fs_info 2300 fs/btrfs/transaction.c mutex_unlock(&fs_info->tree_log_mutex); fs_info 2307 fs/btrfs/transaction.c btrfs_clear_space_info_full(fs_info); fs_info 2309 fs/btrfs/transaction.c fs_info->last_trans_committed = cur_trans->transid; fs_info 2316 fs/btrfs/transaction.c clear_bit(BTRFS_FS_NEED_ASYNC_COMMIT, &fs_info->flags); fs_info 2318 fs/btrfs/transaction.c spin_lock(&fs_info->trans_lock); fs_info 2320 fs/btrfs/transaction.c spin_unlock(&fs_info->trans_lock); fs_info 2326 fs/btrfs/transaction.c sb_end_intwrite(fs_info->sb); fs_info 2330 fs/btrfs/transaction.c btrfs_scrub_continue(fs_info); fs_info 2340 fs/btrfs/transaction.c btrfs_scrub_continue(fs_info); fs_info 2346 fs/btrfs/transaction.c btrfs_warn(fs_info, "Skipping commit of aborted transaction."); fs_info 2367 fs/btrfs/transaction.c struct btrfs_fs_info *fs_info = root->fs_info; fs_info 2369 fs/btrfs/transaction.c spin_lock(&fs_info->trans_lock); fs_info 2370 fs/btrfs/transaction.c if (list_empty(&fs_info->dead_roots)) { fs_info 2371 fs/btrfs/transaction.c spin_unlock(&fs_info->trans_lock); fs_info 2374 fs/btrfs/transaction.c root = list_first_entry(&fs_info->dead_roots, fs_info 2377 fs/btrfs/transaction.c spin_unlock(&fs_info->trans_lock); fs_info 2379 fs/btrfs/transaction.c btrfs_debug(fs_info, "cleaner removing %llu", root->root_key.objectid); fs_info 2392 fs/btrfs/transaction.c void btrfs_apply_pending_changes(struct btrfs_fs_info *fs_info) fs_info 2397 fs/btrfs/transaction.c prev = xchg(&fs_info->pending_changes, 0); fs_info 2403 fs/btrfs/transaction.c btrfs_set_opt(fs_info->mount_opt, INODE_MAP_CACHE); fs_info 2408 fs/btrfs/transaction.c btrfs_clear_opt(fs_info->mount_opt, INODE_MAP_CACHE); fs_info 2413 fs/btrfs/transaction.c btrfs_debug(fs_info, "pending commit done"); fs_info 2417 fs/btrfs/transaction.c btrfs_warn(fs_info, fs_info 87 fs/btrfs/transaction.h struct btrfs_fs_info *fs_info; fs_info 126 fs/btrfs/transaction.h struct btrfs_fs_info *fs_info; fs_info 192 fs/btrfs/transaction.h int btrfs_wait_for_commit(struct btrfs_fs_info *fs_info, u64 transid); fs_info 209 fs/btrfs/transaction.h struct btrfs_fs_info *fs_info) fs_info 211 fs/btrfs/transaction.h set_bit(BTRFS_FS_NEED_ASYNC_COMMIT, &fs_info->flags); fs_info 212 fs/btrfs/transaction.h wake_up_process(fs_info->transaction_kthread); fs_info 216 fs/btrfs/transaction.h void btrfs_throttle(struct btrfs_fs_info *fs_info); fs_info 219 fs/btrfs/transaction.h int btrfs_write_marked_extents(struct btrfs_fs_info *fs_info, fs_info 221 fs/btrfs/transaction.h int btrfs_wait_extents(struct btrfs_fs_info *fs_info, fs_info 227 fs/btrfs/transaction.h void btrfs_apply_pending_changes(struct btrfs_fs_info *fs_info); fs_info 52 fs/btrfs/tree-checker.c const struct btrfs_fs_info *fs_info = eb->fs_info; fs_info 61 fs/btrfs/tree-checker.c btrfs_crit(fs_info, fs_info 77 fs/btrfs/tree-checker.c const struct btrfs_fs_info *fs_info = eb->fs_info; fs_info 88 fs/btrfs/tree-checker.c btrfs_crit(fs_info, fs_info 119 fs/btrfs/tree-checker.c end = ALIGN(key->offset + len, leaf->fs_info->sectorsize); fs_info 131 fs/btrfs/tree-checker.c struct btrfs_fs_info *fs_info = leaf->fs_info; fs_info 133 fs/btrfs/tree-checker.c u32 sectorsize = fs_info->sectorsize; fs_info 248 fs/btrfs/tree-checker.c struct btrfs_fs_info *fs_info = leaf->fs_info; fs_info 249 fs/btrfs/tree-checker.c u32 sectorsize = fs_info->sectorsize; fs_info 250 fs/btrfs/tree-checker.c u32 csumsize = btrfs_super_csum_size(fs_info->super_copy); fs_info 296 fs/btrfs/tree-checker.c const struct btrfs_fs_info *fs_info = eb->fs_info; fs_info 307 fs/btrfs/tree-checker.c btrfs_crit(fs_info, fs_info 318 fs/btrfs/tree-checker.c struct btrfs_fs_info *fs_info = leaf->fs_info; fs_info 376 fs/btrfs/tree-checker.c if (name_len + data_len > BTRFS_MAX_XATTR_SIZE(fs_info)) { fs_info 380 fs/btrfs/tree-checker.c BTRFS_MAX_XATTR_SIZE(fs_info)); fs_info 430 fs/btrfs/tree-checker.c const struct btrfs_fs_info *fs_info = eb->fs_info; fs_info 441 fs/btrfs/tree-checker.c btrfs_crit(fs_info, fs_info 524 fs/btrfs/tree-checker.c const struct btrfs_fs_info *fs_info = leaf->fs_info; fs_info 552 fs/btrfs/tree-checker.c btrfs_crit(fs_info, fs_info 556 fs/btrfs/tree-checker.c btrfs_crit(fs_info, fs_info 572 fs/btrfs/tree-checker.c struct btrfs_fs_info *fs_info = leaf->fs_info; fs_info 592 fs/btrfs/tree-checker.c if (!IS_ALIGNED(logical, fs_info->sectorsize)) { fs_info 595 fs/btrfs/tree-checker.c logical, fs_info->sectorsize); fs_info 598 fs/btrfs/tree-checker.c if (btrfs_chunk_sector_size(leaf, chunk) != fs_info->sectorsize) { fs_info 602 fs/btrfs/tree-checker.c fs_info->sectorsize); fs_info 605 fs/btrfs/tree-checker.c if (!length || !IS_ALIGNED(length, fs_info->sectorsize)) { fs_info 648 fs/btrfs/tree-checker.c features = btrfs_super_incompat_flags(fs_info->super_copy); fs_info 692 fs/btrfs/tree-checker.c btrfs_crit(eb->fs_info, fs_info 740 fs/btrfs/tree-checker.c #define inode_item_err(fs_info, eb, slot, fmt, ...) \ fs_info 746 fs/btrfs/tree-checker.c struct btrfs_fs_info *fs_info = leaf->fs_info; fs_info 748 fs/btrfs/tree-checker.c u64 super_gen = btrfs_super_generation(fs_info->super_copy); fs_info 765 fs/btrfs/tree-checker.c inode_item_err(fs_info, leaf, slot, fs_info 774 fs/btrfs/tree-checker.c inode_item_err(fs_info, leaf, slot, fs_info 782 fs/btrfs/tree-checker.c inode_item_err(fs_info, leaf, slot, fs_info 795 fs/btrfs/tree-checker.c inode_item_err(fs_info, leaf, slot, fs_info 808 fs/btrfs/tree-checker.c inode_item_err(fs_info, leaf, slot, fs_info 815 fs/btrfs/tree-checker.c inode_item_err(fs_info, leaf, slot, fs_info 821 fs/btrfs/tree-checker.c inode_item_err(fs_info, leaf, slot, fs_info 833 fs/btrfs/tree-checker.c struct btrfs_fs_info *fs_info = leaf->fs_info; fs_info 865 fs/btrfs/tree-checker.c btrfs_super_generation(fs_info->super_copy) + 1) { fs_info 869 fs/btrfs/tree-checker.c btrfs_super_generation(fs_info->super_copy) + 1); fs_info 873 fs/btrfs/tree-checker.c btrfs_super_generation(fs_info->super_copy) + 1) { fs_info 877 fs/btrfs/tree-checker.c btrfs_super_generation(fs_info->super_copy) + 1); fs_info 881 fs/btrfs/tree-checker.c btrfs_super_generation(fs_info->super_copy) + 1) { fs_info 885 fs/btrfs/tree-checker.c btrfs_super_generation(fs_info->super_copy) + 1); fs_info 890 fs/btrfs/tree-checker.c if (!IS_ALIGNED(btrfs_root_bytenr(&ri), fs_info->sectorsize)) { fs_info 893 fs/btrfs/tree-checker.c btrfs_root_bytenr(&ri), fs_info->sectorsize); fs_info 935 fs/btrfs/tree-checker.c len = eb->fs_info->nodesize; fs_info 943 fs/btrfs/tree-checker.c btrfs_crit(eb->fs_info, fs_info 953 fs/btrfs/tree-checker.c struct btrfs_fs_info *fs_info = leaf->fs_info; fs_info 965 fs/btrfs/tree-checker.c !btrfs_fs_incompat(fs_info, SKINNY_METADATA)) { fs_info 971 fs/btrfs/tree-checker.c if (!IS_ALIGNED(key->objectid, fs_info->sectorsize)) { fs_info 974 fs/btrfs/tree-checker.c key->objectid, fs_info->sectorsize); fs_info 1010 fs/btrfs/tree-checker.c BTRFS_LEAF_DATA_SIZE(fs_info)); fs_info 1020 fs/btrfs/tree-checker.c if (generation > btrfs_super_generation(fs_info->super_copy) + 1) { fs_info 1024 fs/btrfs/tree-checker.c btrfs_super_generation(fs_info->super_copy) + 1); fs_info 1038 fs/btrfs/tree-checker.c key->offset != fs_info->nodesize) { fs_info 1041 fs/btrfs/tree-checker.c key->offset, fs_info->nodesize); fs_info 1051 fs/btrfs/tree-checker.c if (!IS_ALIGNED(key->offset, fs_info->sectorsize)) { fs_info 1054 fs/btrfs/tree-checker.c key->offset, fs_info->sectorsize); fs_info 1107 fs/btrfs/tree-checker.c if (!IS_ALIGNED(inline_offset, fs_info->sectorsize)) { fs_info 1110 fs/btrfs/tree-checker.c inline_offset, fs_info->sectorsize); fs_info 1122 fs/btrfs/tree-checker.c if (!IS_ALIGNED(dref_offset, fs_info->sectorsize)) { fs_info 1125 fs/btrfs/tree-checker.c dref_offset, fs_info->sectorsize); fs_info 1133 fs/btrfs/tree-checker.c if (!IS_ALIGNED(inline_offset, fs_info->sectorsize)) { fs_info 1136 fs/btrfs/tree-checker.c inline_offset, fs_info->sectorsize); fs_info 1180 fs/btrfs/tree-checker.c if (!IS_ALIGNED(key->objectid, leaf->fs_info->sectorsize)) { fs_info 1183 fs/btrfs/tree-checker.c key->objectid, leaf->fs_info->sectorsize); fs_info 1187 fs/btrfs/tree-checker.c !IS_ALIGNED(key->offset, leaf->fs_info->sectorsize)) { fs_info 1190 fs/btrfs/tree-checker.c key->offset, leaf->fs_info->sectorsize); fs_info 1209 fs/btrfs/tree-checker.c if (!IS_ALIGNED(key->objectid, leaf->fs_info->sectorsize)) { fs_info 1212 fs/btrfs/tree-checker.c key->objectid, leaf->fs_info->sectorsize); fs_info 1232 fs/btrfs/tree-checker.c if (!IS_ALIGNED(offset, leaf->fs_info->sectorsize)) { fs_info 1235 fs/btrfs/tree-checker.c offset, leaf->fs_info->sectorsize); fs_info 1297 fs/btrfs/tree-checker.c struct btrfs_fs_info *fs_info = leaf->fs_info; fs_info 1379 fs/btrfs/tree-checker.c item_end_expected = BTRFS_LEAF_DATA_SIZE(fs_info); fs_info 1397 fs/btrfs/tree-checker.c BTRFS_LEAF_DATA_SIZE(fs_info)) { fs_info 1401 fs/btrfs/tree-checker.c BTRFS_LEAF_DATA_SIZE(fs_info)); fs_info 1447 fs/btrfs/tree-checker.c struct btrfs_fs_info *fs_info = node->fs_info; fs_info 1461 fs/btrfs/tree-checker.c if (nr == 0 || nr > BTRFS_NODEPTRS_PER_BLOCK(fs_info)) { fs_info 1462 fs/btrfs/tree-checker.c btrfs_crit(fs_info, fs_info 1466 fs/btrfs/tree-checker.c BTRFS_NODEPTRS_PER_BLOCK(fs_info)); fs_info 1481 fs/btrfs/tree-checker.c if (!IS_ALIGNED(bytenr, fs_info->sectorsize)) { fs_info 1484 fs/btrfs/tree-checker.c bytenr, fs_info->sectorsize); fs_info 30 fs/btrfs/tree-defrag.c if (root->fs_info->extent_root == root) { fs_info 141 fs/btrfs/tree-log.c struct btrfs_fs_info *fs_info = root->fs_info; fs_info 159 fs/btrfs/tree-log.c mutex_lock(&fs_info->tree_log_mutex); fs_info 160 fs/btrfs/tree-log.c if (!fs_info->log_root_tree) fs_info 161 fs/btrfs/tree-log.c ret = btrfs_init_log_root_tree(trans, fs_info); fs_info 162 fs/btrfs/tree-log.c mutex_unlock(&fs_info->tree_log_mutex); fs_info 300 fs/btrfs/tree-log.c struct btrfs_fs_info *fs_info = log->fs_info; fs_info 307 fs/btrfs/tree-log.c if (btrfs_fs_incompat(fs_info, MIXED_GROUPS)) { fs_info 314 fs/btrfs/tree-log.c ret = btrfs_pin_extent_for_log_replay(fs_info, eb->start, fs_info 562 fs/btrfs/tree-log.c inode = btrfs_iget(root->fs_info->sb, &key, root, NULL); fs_info 586 fs/btrfs/tree-log.c struct btrfs_fs_info *fs_info = root->fs_info; fs_info 614 fs/btrfs/tree-log.c fs_info->sectorsize); fs_info 674 fs/btrfs/tree-log.c btrfs_fs_incompat(fs_info, NO_HOLES)) fs_info 716 fs/btrfs/tree-log.c ret = btrfs_lookup_data_extent(fs_info, ins.objectid, fs_info 812 fs/btrfs/tree-log.c fs_info->csum_root, fs_info 817 fs/btrfs/tree-log.c fs_info->csum_root, sums); fs_info 2618 fs/btrfs/tree-log.c root->fs_info->sectorsize); fs_info 2685 fs/btrfs/tree-log.c struct btrfs_fs_info *fs_info = root->fs_info; fs_info 2714 fs/btrfs/tree-log.c blocksize = fs_info->nodesize; fs_info 2719 fs/btrfs/tree-log.c next = btrfs_find_create_tree_block(fs_info, bytenr); fs_info 2754 fs/btrfs/tree-log.c fs_info, bytenr, fs_info 2792 fs/btrfs/tree-log.c struct btrfs_fs_info *fs_info = root->fs_info; fs_info 2837 fs/btrfs/tree-log.c fs_info, fs_info 2859 fs/btrfs/tree-log.c struct btrfs_fs_info *fs_info = log->fs_info; fs_info 2919 fs/btrfs/tree-log.c ret = btrfs_free_and_pin_reserved_extent(fs_info, fs_info 2939 fs/btrfs/tree-log.c struct btrfs_fs_info *fs_info = log->fs_info; fs_info 2944 fs/btrfs/tree-log.c ret = btrfs_insert_root(trans, fs_info->log_root_tree, fs_info 2947 fs/btrfs/tree-log.c ret = btrfs_update_root(trans, fs_info->log_root_tree, fs_info 3043 fs/btrfs/tree-log.c struct btrfs_fs_info *fs_info = root->fs_info; fs_info 3045 fs/btrfs/tree-log.c struct btrfs_root *log_root_tree = fs_info->log_root_tree; fs_info 3074 fs/btrfs/tree-log.c if (!btrfs_test_opt(fs_info, SSD) && fs_info 3101 fs/btrfs/tree-log.c ret = btrfs_write_marked_extents(fs_info, &log->dirty_log_pages, mark); fs_info 3221 fs/btrfs/tree-log.c ret = btrfs_write_marked_extents(fs_info, fs_info 3241 fs/btrfs/tree-log.c btrfs_set_super_log_root(fs_info->super_for_commit, fs_info 3243 fs/btrfs/tree-log.c btrfs_set_super_log_root_level(fs_info->super_for_commit, fs_info 3256 fs/btrfs/tree-log.c ret = write_all_supers(fs_info, 1); fs_info 3312 fs/btrfs/tree-log.c btrfs_handle_fs_error(log->fs_info, ret, NULL); fs_info 3335 fs/btrfs/tree-log.c struct btrfs_fs_info *fs_info) fs_info 3337 fs/btrfs/tree-log.c if (fs_info->log_root_tree) { fs_info 3338 fs/btrfs/tree-log.c free_log_tree(trans, fs_info->log_root_tree); fs_info 3339 fs/btrfs/tree-log.c fs_info->log_root_tree = NULL; fs_info 3362 fs/btrfs/tree-log.c !test_bit(BTRFS_FS_LOG_RECOVERING, &trans->fs_info->flags)) fs_info 3960 fs/btrfs/tree-log.c struct btrfs_fs_info *fs_info = trans->fs_info; fs_info 4049 fs/btrfs/tree-log.c fs_info->csum_root, fs_info 4122 fs/btrfs/tree-log.c ret = btrfs_lookup_csums_range(trans->fs_info->csum_root, fs_info 4385 fs/btrfs/tree-log.c test_gen = root->fs_info->last_trans_committed; fs_info 4591 fs/btrfs/tree-log.c struct btrfs_fs_info *fs_info = root->fs_info; fs_info 4598 fs/btrfs/tree-log.c if (!btrfs_fs_incompat(fs_info, NO_HOLES) || i_size == 0) fs_info 4667 fs/btrfs/tree-log.c fs_info->sectorsize); fs_info 4681 fs/btrfs/tree-log.c hole_len = ALIGN(i_size - prev_extent_end, fs_info->sectorsize); fs_info 4852 fs/btrfs/tree-log.c struct btrfs_fs_info *fs_info = root->fs_info; fs_info 4870 fs/btrfs/tree-log.c inode = btrfs_iget(fs_info->sb, &key, root, NULL); fs_info 4880 fs/btrfs/tree-log.c inode = btrfs_iget(fs_info->sb, &key, root, fs_info 5031 fs/btrfs/tree-log.c struct btrfs_fs_info *fs_info = root->fs_info; fs_info 5083 fs/btrfs/tree-log.c inode->generation > fs_info->last_trans_committed) fs_info 5421 fs/btrfs/tree-log.c struct btrfs_fs_info *fs_info = inode->root->fs_info; fs_info 5425 fs/btrfs/tree-log.c if (inode->last_unlink_trans > fs_info->last_trans_committed) { fs_info 5549 fs/btrfs/tree-log.c struct btrfs_fs_info *fs_info = root->fs_info; fs_info 5618 fs/btrfs/tree-log.c di_inode = btrfs_iget(fs_info->sb, &di_key, root, NULL); fs_info 5679 fs/btrfs/tree-log.c struct btrfs_fs_info *fs_info = trans->fs_info; fs_info 5744 fs/btrfs/tree-log.c dir_inode = btrfs_iget(fs_info->sb, &inode_key, fs_info 5806 fs/btrfs/tree-log.c struct btrfs_fs_info *fs_info = root->fs_info; fs_info 5807 fs/btrfs/tree-log.c const u64 last_committed = fs_info->last_trans_committed; fs_info 5819 fs/btrfs/tree-log.c inode = btrfs_iget(fs_info->sb, &search_key, root, NULL); fs_info 5865 fs/btrfs/tree-log.c struct btrfs_fs_info *fs_info = root->fs_info; fs_info 5879 fs/btrfs/tree-log.c if (inode->generation > fs_info->last_trans_committed) { fs_info 5995 fs/btrfs/tree-log.c struct btrfs_fs_info *fs_info = root->fs_info; fs_info 5998 fs/btrfs/tree-log.c u64 last_committed = fs_info->last_trans_committed; fs_info 6003 fs/btrfs/tree-log.c if (btrfs_test_opt(fs_info, NOTREELOG)) { fs_info 6012 fs/btrfs/tree-log.c if (fs_info->last_trans_log_full_commit > fs_info 6013 fs/btrfs/tree-log.c fs_info->last_trans_committed) { fs_info 6166 fs/btrfs/tree-log.c struct btrfs_fs_info *fs_info = log_root_tree->fs_info; fs_info 6176 fs/btrfs/tree-log.c set_bit(BTRFS_FS_LOG_RECOVERING, &fs_info->flags); fs_info 6178 fs/btrfs/tree-log.c trans = btrfs_start_transaction(fs_info->tree_root, 0); fs_info 6189 fs/btrfs/tree-log.c btrfs_handle_fs_error(fs_info, ret, fs_info 6203 fs/btrfs/tree-log.c btrfs_handle_fs_error(fs_info, ret, fs_info 6221 fs/btrfs/tree-log.c btrfs_handle_fs_error(fs_info, ret, fs_info 6230 fs/btrfs/tree-log.c wc.replay_dest = btrfs_read_fs_root_no_name(fs_info, &tmp_key); fs_info 6246 fs/btrfs/tree-log.c ret = btrfs_pin_extent_for_log_replay(fs_info, fs_info 6255 fs/btrfs/tree-log.c btrfs_handle_fs_error(fs_info, ret, fs_info 6322 fs/btrfs/tree-log.c clear_bit(BTRFS_FS_LOG_RECOVERING, &fs_info->flags); fs_info 6436 fs/btrfs/tree-log.c struct btrfs_fs_info *fs_info = trans->fs_info; fs_info 6450 fs/btrfs/tree-log.c if (inode->logged_trans <= fs_info->last_trans_committed && fs_info 6451 fs/btrfs/tree-log.c (!old_dir || old_dir->logged_trans <= fs_info->last_trans_committed)) fs_info 35 fs/btrfs/tree-log.h WRITE_ONCE(trans->fs_info->last_trans_log_full_commit, trans->transid); fs_info 40 fs/btrfs/tree-log.h return READ_ONCE(trans->fs_info->last_trans_log_full_commit) == fs_info 48 fs/btrfs/tree-log.h struct btrfs_fs_info *fs_info); fs_info 60 fs/btrfs/uuid-tree.c btrfs_warn(uuid_root->fs_info, fs_info 85 fs/btrfs/uuid-tree.c struct btrfs_fs_info *fs_info = trans->fs_info; fs_info 86 fs/btrfs/uuid-tree.c struct btrfs_root *uuid_root = fs_info->uuid_root; fs_info 130 fs/btrfs/uuid-tree.c btrfs_warn(fs_info, fs_info 150 fs/btrfs/uuid-tree.c struct btrfs_fs_info *fs_info = trans->fs_info; fs_info 151 fs/btrfs/uuid-tree.c struct btrfs_root *uuid_root = fs_info->uuid_root; fs_info 178 fs/btrfs/uuid-tree.c btrfs_warn(fs_info, "error %d while searching for uuid item!", fs_info 192 fs/btrfs/uuid-tree.c btrfs_warn(fs_info, "uuid item with illegal size %lu!", fs_info 249 fs/btrfs/uuid-tree.c int btrfs_uuid_tree_iterate(struct btrfs_fs_info *fs_info, fs_info 253 fs/btrfs/uuid-tree.c struct btrfs_root *root = fs_info->uuid_root; fs_info 293 fs/btrfs/uuid-tree.c btrfs_warn(fs_info, fs_info 308 fs/btrfs/uuid-tree.c ret = check_func(fs_info, uuid, key.type, subid_cpu); fs_info 193 fs/btrfs/volumes.c static int btrfs_relocate_sys_chunks(struct btrfs_fs_info *fs_info); fs_info 196 fs/btrfs/volumes.c static int __btrfs_map_block(struct btrfs_fs_info *fs_info, fs_info 531 fs/btrfs/volumes.c struct btrfs_fs_info *fs_info = device->fs_info; fs_info 650 fs/btrfs/volumes.c fs_info->fs_devices->open_devices > 1) { fs_info 683 fs/btrfs/volumes.c btrfs_queue_work(fs_info->submit_workers, fs_info 1114 fs/btrfs/volumes.c btrfs_warn_in_rcu(device->fs_info, fs_info 1121 fs/btrfs/volumes.c btrfs_info_in_rcu(device->fs_info, fs_info 1553 fs/btrfs/volumes.c lockdep_assert_held(&device->fs_info->chunk_mutex); fs_info 1601 fs/btrfs/volumes.c struct btrfs_fs_info *fs_info = device->fs_info; fs_info 1602 fs/btrfs/volumes.c struct btrfs_root *root = fs_info->dev_root; fs_info 1765 fs/btrfs/volumes.c struct btrfs_fs_info *fs_info = device->fs_info; fs_info 1766 fs/btrfs/volumes.c struct btrfs_root *root = fs_info->dev_root; fs_info 1802 fs/btrfs/volumes.c btrfs_handle_fs_error(fs_info, ret, "Slot search failed"); fs_info 1810 fs/btrfs/volumes.c btrfs_handle_fs_error(fs_info, ret, fs_info 1826 fs/btrfs/volumes.c struct btrfs_fs_info *fs_info = device->fs_info; fs_info 1827 fs/btrfs/volumes.c struct btrfs_root *root = fs_info->dev_root; fs_info 1862 fs/btrfs/volumes.c static u64 find_next_chunk(struct btrfs_fs_info *fs_info) fs_info 1869 fs/btrfs/volumes.c em_tree = &fs_info->mapping_tree; fs_info 1881 fs/btrfs/volumes.c static noinline int find_next_devid(struct btrfs_fs_info *fs_info, fs_info 1897 fs/btrfs/volumes.c ret = btrfs_search_slot(NULL, fs_info->chunk_root, &key, path, 0, 0); fs_info 1903 fs/btrfs/volumes.c btrfs_err(fs_info, "corrupted chunk tree devid -1 matched"); fs_info 1908 fs/btrfs/volumes.c ret = btrfs_previous_item(fs_info->chunk_root, path, fs_info 1946 fs/btrfs/volumes.c ret = btrfs_insert_empty_item(trans, trans->fs_info->chunk_root, path, fs_info 1972 fs/btrfs/volumes.c write_extent_buffer(leaf, trans->fs_info->fs_devices->metadata_uuid, fs_info 1999 fs/btrfs/volumes.c struct btrfs_root *root = device->fs_info->chunk_root; fs_info 2045 fs/btrfs/volumes.c static int btrfs_check_raid_min_devices(struct btrfs_fs_info *fs_info, fs_info 2053 fs/btrfs/volumes.c seq = read_seqbegin(&fs_info->profiles_lock); fs_info 2055 fs/btrfs/volumes.c all_avail = fs_info->avail_data_alloc_bits | fs_info 2056 fs/btrfs/volumes.c fs_info->avail_system_alloc_bits | fs_info 2057 fs/btrfs/volumes.c fs_info->avail_metadata_alloc_bits; fs_info 2058 fs/btrfs/volumes.c } while (read_seqretry(&fs_info->profiles_lock, seq)); fs_info 2099 fs/btrfs/volumes.c struct btrfs_fs_info *fs_info = device->fs_info; fs_info 2105 fs/btrfs/volumes.c next_device = btrfs_find_next_active_device(fs_info->fs_devices, fs_info 2109 fs/btrfs/volumes.c if (fs_info->sb->s_bdev && fs_info 2110 fs/btrfs/volumes.c (fs_info->sb->s_bdev == device->bdev)) fs_info 2111 fs/btrfs/volumes.c fs_info->sb->s_bdev = next_device->bdev; fs_info 2113 fs/btrfs/volumes.c if (fs_info->fs_devices->latest_bdev == device->bdev) fs_info 2114 fs/btrfs/volumes.c fs_info->fs_devices->latest_bdev = next_device->bdev; fs_info 2121 fs/btrfs/volumes.c static u64 btrfs_num_devices(struct btrfs_fs_info *fs_info) fs_info 2123 fs/btrfs/volumes.c u64 num_devices = fs_info->fs_devices->num_devices; fs_info 2125 fs/btrfs/volumes.c down_read(&fs_info->dev_replace.rwsem); fs_info 2126 fs/btrfs/volumes.c if (btrfs_dev_replace_is_ongoing(&fs_info->dev_replace)) { fs_info 2130 fs/btrfs/volumes.c up_read(&fs_info->dev_replace.rwsem); fs_info 2135 fs/btrfs/volumes.c int btrfs_rm_device(struct btrfs_fs_info *fs_info, const char *device_path, fs_info 2140 fs/btrfs/volumes.c struct btrfs_fs_devices *fs_devices = fs_info->fs_devices; fs_info 2146 fs/btrfs/volumes.c num_devices = btrfs_num_devices(fs_info); fs_info 2148 fs/btrfs/volumes.c ret = btrfs_check_raid_min_devices(fs_info, num_devices - 1); fs_info 2152 fs/btrfs/volumes.c device = btrfs_find_device_by_devspec(fs_info, devid, device_path); fs_info 2163 fs/btrfs/volumes.c if (btrfs_pinned_by_swapfile(fs_info, device)) { fs_info 2164 fs/btrfs/volumes.c btrfs_warn_in_rcu(fs_info, fs_info 2177 fs/btrfs/volumes.c fs_info->fs_devices->rw_devices == 1) { fs_info 2183 fs/btrfs/volumes.c mutex_lock(&fs_info->chunk_mutex); fs_info 2186 fs/btrfs/volumes.c mutex_unlock(&fs_info->chunk_mutex); fs_info 2243 fs/btrfs/volumes.c num_devices = btrfs_super_num_devices(fs_info->super_copy) - 1; fs_info 2244 fs/btrfs/volumes.c btrfs_set_super_num_devices(fs_info->super_copy, num_devices); fs_info 2278 fs/btrfs/volumes.c mutex_lock(&fs_info->chunk_mutex); fs_info 2282 fs/btrfs/volumes.c mutex_unlock(&fs_info->chunk_mutex); fs_info 2291 fs/btrfs/volumes.c lockdep_assert_held(&srcdev->fs_info->fs_devices->device_list_mutex); fs_info 2316 fs/btrfs/volumes.c struct btrfs_fs_info *fs_info = srcdev->fs_info; fs_info 2340 fs/btrfs/volumes.c tmp_fs_devices = fs_info->fs_devices; fs_info 2356 fs/btrfs/volumes.c struct btrfs_fs_devices *fs_devices = tgtdev->fs_info->fs_devices; fs_info 2389 fs/btrfs/volumes.c struct btrfs_fs_info *fs_info, const char *device_path) fs_info 2400 fs/btrfs/volumes.c fs_info->bdev_holder, 0, &bdev, &bh); fs_info 2406 fs/btrfs/volumes.c if (btrfs_fs_incompat(fs_info, METADATA_UUID)) fs_info 2407 fs/btrfs/volumes.c device = btrfs_find_device(fs_info->fs_devices, devid, dev_uuid, fs_info 2410 fs/btrfs/volumes.c device = btrfs_find_device(fs_info->fs_devices, devid, dev_uuid, fs_info 2424 fs/btrfs/volumes.c struct btrfs_fs_info *fs_info, u64 devid, fs_info 2430 fs/btrfs/volumes.c device = btrfs_find_device(fs_info->fs_devices, devid, NULL, fs_info 2442 fs/btrfs/volumes.c list_for_each_entry(device, &fs_info->fs_devices->devices, fs_info 2451 fs/btrfs/volumes.c return btrfs_find_device_by_path(fs_info, device_path); fs_info 2457 fs/btrfs/volumes.c static int btrfs_prepare_sprout(struct btrfs_fs_info *fs_info) fs_info 2459 fs/btrfs/volumes.c struct btrfs_fs_devices *fs_devices = fs_info->fs_devices; fs_info 2462 fs/btrfs/volumes.c struct btrfs_super_block *disk_super = fs_info->super_copy; fs_info 2494 fs/btrfs/volumes.c mutex_lock(&fs_info->chunk_mutex); fs_info 2496 fs/btrfs/volumes.c mutex_unlock(&fs_info->chunk_mutex); fs_info 2522 fs/btrfs/volumes.c struct btrfs_fs_info *fs_info = trans->fs_info; fs_info 2523 fs/btrfs/volumes.c struct btrfs_root *root = fs_info->chunk_root; fs_info 2573 fs/btrfs/volumes.c device = btrfs_find_device(fs_info->fs_devices, devid, dev_uuid, fs_info 2592 fs/btrfs/volumes.c int btrfs_init_new_device(struct btrfs_fs_info *fs_info, const char *device_path) fs_info 2594 fs/btrfs/volumes.c struct btrfs_root *root = fs_info->dev_root; fs_info 2599 fs/btrfs/volumes.c struct super_block *sb = fs_info->sb; fs_info 2601 fs/btrfs/volumes.c struct btrfs_fs_devices *fs_devices = fs_info->fs_devices; fs_info 2612 fs/btrfs/volumes.c fs_info->bdev_holder); fs_info 2635 fs/btrfs/volumes.c device = btrfs_alloc_device(fs_info, NULL, NULL); fs_info 2658 fs/btrfs/volumes.c device->io_width = fs_info->sectorsize; fs_info 2659 fs/btrfs/volumes.c device->io_align = fs_info->sectorsize; fs_info 2660 fs/btrfs/volumes.c device->sector_size = fs_info->sectorsize; fs_info 2662 fs/btrfs/volumes.c fs_info->sectorsize); fs_info 2665 fs/btrfs/volumes.c device->fs_info = fs_info; fs_info 2675 fs/btrfs/volumes.c ret = btrfs_prepare_sprout(fs_info); fs_info 2685 fs/btrfs/volumes.c mutex_lock(&fs_info->chunk_mutex); fs_info 2694 fs/btrfs/volumes.c atomic64_add(device->total_bytes, &fs_info->free_chunk_space); fs_info 2699 fs/btrfs/volumes.c orig_super_total_bytes = btrfs_super_total_bytes(fs_info->super_copy); fs_info 2700 fs/btrfs/volumes.c btrfs_set_super_total_bytes(fs_info->super_copy, fs_info 2702 fs/btrfs/volumes.c fs_info->sectorsize)); fs_info 2704 fs/btrfs/volumes.c orig_super_num_devices = btrfs_super_num_devices(fs_info->super_copy); fs_info 2705 fs/btrfs/volumes.c btrfs_set_super_num_devices(fs_info->super_copy, fs_info 2715 fs/btrfs/volumes.c btrfs_clear_space_info_full(fs_info); fs_info 2717 fs/btrfs/volumes.c mutex_unlock(&fs_info->chunk_mutex); fs_info 2721 fs/btrfs/volumes.c mutex_lock(&fs_info->chunk_mutex); fs_info 2723 fs/btrfs/volumes.c mutex_unlock(&fs_info->chunk_mutex); fs_info 2744 fs/btrfs/volumes.c fs_info->fs_devices->fsid); fs_info 2757 fs/btrfs/volumes.c ret = btrfs_relocate_sys_chunks(fs_info); fs_info 2759 fs/btrfs/volumes.c btrfs_handle_fs_error(fs_info, ret, fs_info 2778 fs/btrfs/volumes.c mutex_lock(&fs_info->fs_devices->device_list_mutex); fs_info 2779 fs/btrfs/volumes.c mutex_lock(&fs_info->chunk_mutex); fs_info 2782 fs/btrfs/volumes.c fs_info->fs_devices->num_devices--; fs_info 2783 fs/btrfs/volumes.c fs_info->fs_devices->open_devices--; fs_info 2784 fs/btrfs/volumes.c fs_info->fs_devices->rw_devices--; fs_info 2785 fs/btrfs/volumes.c fs_info->fs_devices->total_devices--; fs_info 2786 fs/btrfs/volumes.c fs_info->fs_devices->total_rw_bytes -= device->total_bytes; fs_info 2787 fs/btrfs/volumes.c atomic64_sub(device->total_bytes, &fs_info->free_chunk_space); fs_info 2788 fs/btrfs/volumes.c btrfs_set_super_total_bytes(fs_info->super_copy, fs_info 2790 fs/btrfs/volumes.c btrfs_set_super_num_devices(fs_info->super_copy, fs_info 2792 fs/btrfs/volumes.c mutex_unlock(&fs_info->chunk_mutex); fs_info 2793 fs/btrfs/volumes.c mutex_unlock(&fs_info->fs_devices->device_list_mutex); fs_info 2815 fs/btrfs/volumes.c struct btrfs_root *root = device->fs_info->chunk_root; fs_info 2859 fs/btrfs/volumes.c struct btrfs_fs_info *fs_info = device->fs_info; fs_info 2860 fs/btrfs/volumes.c struct btrfs_super_block *super_copy = fs_info->super_copy; fs_info 2867 fs/btrfs/volumes.c new_size = round_down(new_size, fs_info->sectorsize); fs_info 2869 fs/btrfs/volumes.c mutex_lock(&fs_info->chunk_mutex); fs_info 2871 fs/btrfs/volumes.c diff = round_down(new_size - device->total_bytes, fs_info->sectorsize); fs_info 2875 fs/btrfs/volumes.c mutex_unlock(&fs_info->chunk_mutex); fs_info 2880 fs/btrfs/volumes.c round_down(old_total + diff, fs_info->sectorsize)); fs_info 2885 fs/btrfs/volumes.c btrfs_clear_space_info_full(device->fs_info); fs_info 2889 fs/btrfs/volumes.c mutex_unlock(&fs_info->chunk_mutex); fs_info 2896 fs/btrfs/volumes.c struct btrfs_fs_info *fs_info = trans->fs_info; fs_info 2897 fs/btrfs/volumes.c struct btrfs_root *root = fs_info->chunk_root; fs_info 2914 fs/btrfs/volumes.c btrfs_handle_fs_error(fs_info, -ENOENT, fs_info 2922 fs/btrfs/volumes.c btrfs_handle_fs_error(fs_info, ret, fs_info 2929 fs/btrfs/volumes.c static int btrfs_del_sys_chunk(struct btrfs_fs_info *fs_info, u64 chunk_offset) fs_info 2931 fs/btrfs/volumes.c struct btrfs_super_block *super_copy = fs_info->super_copy; fs_info 2942 fs/btrfs/volumes.c mutex_lock(&fs_info->chunk_mutex); fs_info 2972 fs/btrfs/volumes.c mutex_unlock(&fs_info->chunk_mutex); fs_info 2983 fs/btrfs/volumes.c struct extent_map *btrfs_get_chunk_map(struct btrfs_fs_info *fs_info, fs_info 2989 fs/btrfs/volumes.c em_tree = &fs_info->mapping_tree; fs_info 2995 fs/btrfs/volumes.c btrfs_crit(fs_info, "unable to find logical %llu length %llu", fs_info 3001 fs/btrfs/volumes.c btrfs_crit(fs_info, fs_info 3014 fs/btrfs/volumes.c struct btrfs_fs_info *fs_info = trans->fs_info; fs_info 3019 fs/btrfs/volumes.c struct btrfs_fs_devices *fs_devices = fs_info->fs_devices; fs_info 3021 fs/btrfs/volumes.c em = btrfs_get_chunk_map(fs_info, chunk_offset, 1); fs_info 3032 fs/btrfs/volumes.c mutex_lock(&fs_info->chunk_mutex); fs_info 3034 fs/btrfs/volumes.c mutex_unlock(&fs_info->chunk_mutex); fs_info 3054 fs/btrfs/volumes.c mutex_lock(&fs_info->chunk_mutex); fs_info 3057 fs/btrfs/volumes.c atomic64_add(dev_extent_len, &fs_info->free_chunk_space); fs_info 3058 fs/btrfs/volumes.c btrfs_clear_space_info_full(fs_info); fs_info 3059 fs/btrfs/volumes.c mutex_unlock(&fs_info->chunk_mutex); fs_info 3077 fs/btrfs/volumes.c trace_btrfs_chunk_free(fs_info, map, chunk_offset, em->len); fs_info 3080 fs/btrfs/volumes.c ret = btrfs_del_sys_chunk(fs_info, chunk_offset); fs_info 3099 fs/btrfs/volumes.c static int btrfs_relocate_chunk(struct btrfs_fs_info *fs_info, u64 chunk_offset) fs_info 3101 fs/btrfs/volumes.c struct btrfs_root *root = fs_info->chunk_root; fs_info 3117 fs/btrfs/volumes.c lockdep_assert_held(&fs_info->delete_unused_bgs_mutex); fs_info 3120 fs/btrfs/volumes.c btrfs_scrub_pause(fs_info); fs_info 3121 fs/btrfs/volumes.c ret = btrfs_relocate_block_group(fs_info, chunk_offset); fs_info 3122 fs/btrfs/volumes.c btrfs_scrub_continue(fs_info); fs_info 3126 fs/btrfs/volumes.c trans = btrfs_start_trans_remove_block_group(root->fs_info, fs_info 3130 fs/btrfs/volumes.c btrfs_handle_fs_error(root->fs_info, ret, NULL); fs_info 3143 fs/btrfs/volumes.c static int btrfs_relocate_sys_chunks(struct btrfs_fs_info *fs_info) fs_info 3145 fs/btrfs/volumes.c struct btrfs_root *chunk_root = fs_info->chunk_root; fs_info 3166 fs/btrfs/volumes.c mutex_lock(&fs_info->delete_unused_bgs_mutex); fs_info 3169 fs/btrfs/volumes.c mutex_unlock(&fs_info->delete_unused_bgs_mutex); fs_info 3177 fs/btrfs/volumes.c mutex_unlock(&fs_info->delete_unused_bgs_mutex); fs_info 3192 fs/btrfs/volumes.c ret = btrfs_relocate_chunk(fs_info, found_key.offset); fs_info 3198 fs/btrfs/volumes.c mutex_unlock(&fs_info->delete_unused_bgs_mutex); fs_info 3222 fs/btrfs/volumes.c static int btrfs_may_alloc_data_chunk(struct btrfs_fs_info *fs_info, fs_info 3229 fs/btrfs/volumes.c cache = btrfs_lookup_block_group(fs_info, chunk_offset); fs_info 3235 fs/btrfs/volumes.c spin_lock(&fs_info->data_sinfo->lock); fs_info 3236 fs/btrfs/volumes.c bytes_used = fs_info->data_sinfo->bytes_used; fs_info 3237 fs/btrfs/volumes.c spin_unlock(&fs_info->data_sinfo->lock); fs_info 3243 fs/btrfs/volumes.c trans = btrfs_join_transaction(fs_info->tree_root); fs_info 3258 fs/btrfs/volumes.c static int insert_balance_item(struct btrfs_fs_info *fs_info, fs_info 3261 fs/btrfs/volumes.c struct btrfs_root *root = fs_info->tree_root; fs_info 3312 fs/btrfs/volumes.c static int del_balance_item(struct btrfs_fs_info *fs_info) fs_info 3314 fs/btrfs/volumes.c struct btrfs_root *root = fs_info->tree_root; fs_info 3397 fs/btrfs/volumes.c static void reset_balance_state(struct btrfs_fs_info *fs_info) fs_info 3399 fs/btrfs/volumes.c struct btrfs_balance_control *bctl = fs_info->balance_ctl; fs_info 3402 fs/btrfs/volumes.c BUG_ON(!fs_info->balance_ctl); fs_info 3404 fs/btrfs/volumes.c spin_lock(&fs_info->balance_lock); fs_info 3405 fs/btrfs/volumes.c fs_info->balance_ctl = NULL; fs_info 3406 fs/btrfs/volumes.c spin_unlock(&fs_info->balance_lock); fs_info 3409 fs/btrfs/volumes.c ret = del_balance_item(fs_info); fs_info 3411 fs/btrfs/volumes.c btrfs_handle_fs_error(fs_info, ret, NULL); fs_info 3430 fs/btrfs/volumes.c static int chunk_usage_range_filter(struct btrfs_fs_info *fs_info, u64 chunk_offset, fs_info 3439 fs/btrfs/volumes.c cache = btrfs_lookup_block_group(fs_info, chunk_offset); fs_info 3463 fs/btrfs/volumes.c static int chunk_usage_filter(struct btrfs_fs_info *fs_info, fs_info 3470 fs/btrfs/volumes.c cache = btrfs_lookup_block_group(fs_info, chunk_offset); fs_info 3598 fs/btrfs/volumes.c struct btrfs_fs_info *fs_info = leaf->fs_info; fs_info 3599 fs/btrfs/volumes.c struct btrfs_balance_control *bctl = fs_info->balance_ctl; fs_info 3624 fs/btrfs/volumes.c chunk_usage_filter(fs_info, chunk_offset, bargs)) { fs_info 3627 fs/btrfs/volumes.c chunk_usage_range_filter(fs_info, chunk_offset, bargs)) { fs_info 3684 fs/btrfs/volumes.c static int __btrfs_balance(struct btrfs_fs_info *fs_info) fs_info 3686 fs/btrfs/volumes.c struct btrfs_balance_control *bctl = fs_info->balance_ctl; fs_info 3687 fs/btrfs/volumes.c struct btrfs_root *chunk_root = fs_info->chunk_root; fs_info 3714 fs/btrfs/volumes.c spin_lock(&fs_info->balance_lock); fs_info 3716 fs/btrfs/volumes.c spin_unlock(&fs_info->balance_lock); fs_info 3732 fs/btrfs/volumes.c if ((!counting && atomic_read(&fs_info->balance_pause_req)) || fs_info 3733 fs/btrfs/volumes.c atomic_read(&fs_info->balance_cancel_req)) { fs_info 3738 fs/btrfs/volumes.c mutex_lock(&fs_info->delete_unused_bgs_mutex); fs_info 3741 fs/btrfs/volumes.c mutex_unlock(&fs_info->delete_unused_bgs_mutex); fs_info 3755 fs/btrfs/volumes.c mutex_unlock(&fs_info->delete_unused_bgs_mutex); fs_info 3765 fs/btrfs/volumes.c mutex_unlock(&fs_info->delete_unused_bgs_mutex); fs_info 3773 fs/btrfs/volumes.c spin_lock(&fs_info->balance_lock); fs_info 3775 fs/btrfs/volumes.c spin_unlock(&fs_info->balance_lock); fs_info 3782 fs/btrfs/volumes.c mutex_unlock(&fs_info->delete_unused_bgs_mutex); fs_info 3787 fs/btrfs/volumes.c mutex_unlock(&fs_info->delete_unused_bgs_mutex); fs_info 3788 fs/btrfs/volumes.c spin_lock(&fs_info->balance_lock); fs_info 3790 fs/btrfs/volumes.c spin_unlock(&fs_info->balance_lock); fs_info 3812 fs/btrfs/volumes.c mutex_unlock(&fs_info->delete_unused_bgs_mutex); fs_info 3823 fs/btrfs/volumes.c ret = btrfs_may_alloc_data_chunk(fs_info, fs_info 3826 fs/btrfs/volumes.c mutex_unlock(&fs_info->delete_unused_bgs_mutex); fs_info 3833 fs/btrfs/volumes.c ret = btrfs_relocate_chunk(fs_info, found_key.offset); fs_info 3834 fs/btrfs/volumes.c mutex_unlock(&fs_info->delete_unused_bgs_mutex); fs_info 3838 fs/btrfs/volumes.c btrfs_info(fs_info, fs_info 3845 fs/btrfs/volumes.c spin_lock(&fs_info->balance_lock); fs_info 3847 fs/btrfs/volumes.c spin_unlock(&fs_info->balance_lock); fs_info 3863 fs/btrfs/volumes.c btrfs_info(fs_info, "%d enospc errors during balance", fs_info 3900 fs/btrfs/volumes.c static inline int balance_need_close(struct btrfs_fs_info *fs_info) fs_info 3903 fs/btrfs/volumes.c return atomic_read(&fs_info->balance_cancel_req) || fs_info 3904 fs/btrfs/volumes.c (atomic_read(&fs_info->balance_pause_req) == 0 && fs_info 3905 fs/btrfs/volumes.c atomic_read(&fs_info->balance_cancel_req) == 0); fs_info 4015 fs/btrfs/volumes.c static void describe_balance_start_or_resume(struct btrfs_fs_info *fs_info) fs_info 4023 fs/btrfs/volumes.c struct btrfs_balance_control *bctl = fs_info->balance_ctl; fs_info 4064 fs/btrfs/volumes.c btrfs_info(fs_info, "balance: %s %s", fs_info 4074 fs/btrfs/volumes.c int btrfs_balance(struct btrfs_fs_info *fs_info, fs_info 4087 fs/btrfs/volumes.c if (btrfs_fs_closing(fs_info) || fs_info 4088 fs/btrfs/volumes.c atomic_read(&fs_info->balance_pause_req) || fs_info 4089 fs/btrfs/volumes.c atomic_read(&fs_info->balance_cancel_req)) { fs_info 4094 fs/btrfs/volumes.c allowed = btrfs_super_incompat_flags(fs_info->super_copy); fs_info 4107 fs/btrfs/volumes.c btrfs_err(fs_info, fs_info 4118 fs/btrfs/volumes.c num_devices = fs_info->fs_devices->rw_devices; fs_info 4131 fs/btrfs/volumes.c btrfs_err(fs_info, fs_info 4138 fs/btrfs/volumes.c btrfs_err(fs_info, fs_info 4145 fs/btrfs/volumes.c btrfs_err(fs_info, fs_info 4163 fs/btrfs/volumes.c seq = read_seqbegin(&fs_info->profiles_lock); fs_info 4166 fs/btrfs/volumes.c (fs_info->avail_system_alloc_bits & allowed) && fs_info 4169 fs/btrfs/volumes.c (fs_info->avail_metadata_alloc_bits & allowed) && fs_info 4177 fs/btrfs/volumes.c bctl->meta.target : fs_info->avail_metadata_alloc_bits; fs_info 4179 fs/btrfs/volumes.c bctl->data.target : fs_info->avail_data_alloc_bits; fs_info 4180 fs/btrfs/volumes.c } while (read_seqretry(&fs_info->profiles_lock, seq)); fs_info 4184 fs/btrfs/volumes.c btrfs_info(fs_info, fs_info 4187 fs/btrfs/volumes.c btrfs_err(fs_info, fs_info 4196 fs/btrfs/volumes.c btrfs_warn(fs_info, fs_info 4202 fs/btrfs/volumes.c if (fs_info->send_in_progress) { fs_info 4203 fs/btrfs/volumes.c btrfs_warn_rl(fs_info, fs_info 4205 fs/btrfs/volumes.c fs_info->send_in_progress); fs_info 4210 fs/btrfs/volumes.c ret = insert_balance_item(fs_info, bctl); fs_info 4216 fs/btrfs/volumes.c BUG_ON(fs_info->balance_ctl); fs_info 4217 fs/btrfs/volumes.c spin_lock(&fs_info->balance_lock); fs_info 4218 fs/btrfs/volumes.c fs_info->balance_ctl = bctl; fs_info 4219 fs/btrfs/volumes.c spin_unlock(&fs_info->balance_lock); fs_info 4222 fs/btrfs/volumes.c spin_lock(&fs_info->balance_lock); fs_info 4224 fs/btrfs/volumes.c spin_unlock(&fs_info->balance_lock); fs_info 4227 fs/btrfs/volumes.c ASSERT(!test_bit(BTRFS_FS_BALANCE_RUNNING, &fs_info->flags)); fs_info 4228 fs/btrfs/volumes.c set_bit(BTRFS_FS_BALANCE_RUNNING, &fs_info->flags); fs_info 4229 fs/btrfs/volumes.c describe_balance_start_or_resume(fs_info); fs_info 4230 fs/btrfs/volumes.c mutex_unlock(&fs_info->balance_mutex); fs_info 4232 fs/btrfs/volumes.c ret = __btrfs_balance(fs_info); fs_info 4234 fs/btrfs/volumes.c mutex_lock(&fs_info->balance_mutex); fs_info 4235 fs/btrfs/volumes.c if (ret == -ECANCELED && atomic_read(&fs_info->balance_pause_req)) fs_info 4236 fs/btrfs/volumes.c btrfs_info(fs_info, "balance: paused"); fs_info 4237 fs/btrfs/volumes.c else if (ret == -ECANCELED && atomic_read(&fs_info->balance_cancel_req)) fs_info 4238 fs/btrfs/volumes.c btrfs_info(fs_info, "balance: canceled"); fs_info 4240 fs/btrfs/volumes.c btrfs_info(fs_info, "balance: ended with status: %d", ret); fs_info 4242 fs/btrfs/volumes.c clear_bit(BTRFS_FS_BALANCE_RUNNING, &fs_info->flags); fs_info 4246 fs/btrfs/volumes.c btrfs_update_ioctl_balance_args(fs_info, bargs); fs_info 4250 fs/btrfs/volumes.c balance_need_close(fs_info)) { fs_info 4251 fs/btrfs/volumes.c reset_balance_state(fs_info); fs_info 4252 fs/btrfs/volumes.c clear_bit(BTRFS_FS_EXCL_OP, &fs_info->flags); fs_info 4255 fs/btrfs/volumes.c wake_up(&fs_info->balance_wait_q); fs_info 4260 fs/btrfs/volumes.c reset_balance_state(fs_info); fs_info 4263 fs/btrfs/volumes.c clear_bit(BTRFS_FS_EXCL_OP, &fs_info->flags); fs_info 4270 fs/btrfs/volumes.c struct btrfs_fs_info *fs_info = data; fs_info 4273 fs/btrfs/volumes.c mutex_lock(&fs_info->balance_mutex); fs_info 4274 fs/btrfs/volumes.c if (fs_info->balance_ctl) fs_info 4275 fs/btrfs/volumes.c ret = btrfs_balance(fs_info, fs_info->balance_ctl, NULL); fs_info 4276 fs/btrfs/volumes.c mutex_unlock(&fs_info->balance_mutex); fs_info 4281 fs/btrfs/volumes.c int btrfs_resume_balance_async(struct btrfs_fs_info *fs_info) fs_info 4285 fs/btrfs/volumes.c mutex_lock(&fs_info->balance_mutex); fs_info 4286 fs/btrfs/volumes.c if (!fs_info->balance_ctl) { fs_info 4287 fs/btrfs/volumes.c mutex_unlock(&fs_info->balance_mutex); fs_info 4290 fs/btrfs/volumes.c mutex_unlock(&fs_info->balance_mutex); fs_info 4292 fs/btrfs/volumes.c if (btrfs_test_opt(fs_info, SKIP_BALANCE)) { fs_info 4293 fs/btrfs/volumes.c btrfs_info(fs_info, "balance: resume skipped"); fs_info 4302 fs/btrfs/volumes.c spin_lock(&fs_info->balance_lock); fs_info 4303 fs/btrfs/volumes.c fs_info->balance_ctl->flags |= BTRFS_BALANCE_RESUME; fs_info 4304 fs/btrfs/volumes.c spin_unlock(&fs_info->balance_lock); fs_info 4306 fs/btrfs/volumes.c tsk = kthread_run(balance_kthread, fs_info, "btrfs-balance"); fs_info 4310 fs/btrfs/volumes.c int btrfs_recover_balance(struct btrfs_fs_info *fs_info) fs_info 4328 fs/btrfs/volumes.c ret = btrfs_search_slot(NULL, fs_info->tree_root, &key, path, 0, 0); fs_info 4365 fs/btrfs/volumes.c if (test_and_set_bit(BTRFS_FS_EXCL_OP, &fs_info->flags)) fs_info 4366 fs/btrfs/volumes.c btrfs_warn(fs_info, fs_info 4369 fs/btrfs/volumes.c mutex_lock(&fs_info->balance_mutex); fs_info 4370 fs/btrfs/volumes.c BUG_ON(fs_info->balance_ctl); fs_info 4371 fs/btrfs/volumes.c spin_lock(&fs_info->balance_lock); fs_info 4372 fs/btrfs/volumes.c fs_info->balance_ctl = bctl; fs_info 4373 fs/btrfs/volumes.c spin_unlock(&fs_info->balance_lock); fs_info 4374 fs/btrfs/volumes.c mutex_unlock(&fs_info->balance_mutex); fs_info 4380 fs/btrfs/volumes.c int btrfs_pause_balance(struct btrfs_fs_info *fs_info) fs_info 4384 fs/btrfs/volumes.c mutex_lock(&fs_info->balance_mutex); fs_info 4385 fs/btrfs/volumes.c if (!fs_info->balance_ctl) { fs_info 4386 fs/btrfs/volumes.c mutex_unlock(&fs_info->balance_mutex); fs_info 4390 fs/btrfs/volumes.c if (test_bit(BTRFS_FS_BALANCE_RUNNING, &fs_info->flags)) { fs_info 4391 fs/btrfs/volumes.c atomic_inc(&fs_info->balance_pause_req); fs_info 4392 fs/btrfs/volumes.c mutex_unlock(&fs_info->balance_mutex); fs_info 4394 fs/btrfs/volumes.c wait_event(fs_info->balance_wait_q, fs_info 4395 fs/btrfs/volumes.c !test_bit(BTRFS_FS_BALANCE_RUNNING, &fs_info->flags)); fs_info 4397 fs/btrfs/volumes.c mutex_lock(&fs_info->balance_mutex); fs_info 4399 fs/btrfs/volumes.c BUG_ON(test_bit(BTRFS_FS_BALANCE_RUNNING, &fs_info->flags)); fs_info 4400 fs/btrfs/volumes.c atomic_dec(&fs_info->balance_pause_req); fs_info 4405 fs/btrfs/volumes.c mutex_unlock(&fs_info->balance_mutex); fs_info 4409 fs/btrfs/volumes.c int btrfs_cancel_balance(struct btrfs_fs_info *fs_info) fs_info 4411 fs/btrfs/volumes.c mutex_lock(&fs_info->balance_mutex); fs_info 4412 fs/btrfs/volumes.c if (!fs_info->balance_ctl) { fs_info 4413 fs/btrfs/volumes.c mutex_unlock(&fs_info->balance_mutex); fs_info 4422 fs/btrfs/volumes.c if (sb_rdonly(fs_info->sb)) { fs_info 4423 fs/btrfs/volumes.c mutex_unlock(&fs_info->balance_mutex); fs_info 4427 fs/btrfs/volumes.c atomic_inc(&fs_info->balance_cancel_req); fs_info 4432 fs/btrfs/volumes.c if (test_bit(BTRFS_FS_BALANCE_RUNNING, &fs_info->flags)) { fs_info 4433 fs/btrfs/volumes.c mutex_unlock(&fs_info->balance_mutex); fs_info 4434 fs/btrfs/volumes.c wait_event(fs_info->balance_wait_q, fs_info 4435 fs/btrfs/volumes.c !test_bit(BTRFS_FS_BALANCE_RUNNING, &fs_info->flags)); fs_info 4436 fs/btrfs/volumes.c mutex_lock(&fs_info->balance_mutex); fs_info 4438 fs/btrfs/volumes.c mutex_unlock(&fs_info->balance_mutex); fs_info 4443 fs/btrfs/volumes.c mutex_lock(&fs_info->balance_mutex); fs_info 4445 fs/btrfs/volumes.c if (fs_info->balance_ctl) { fs_info 4446 fs/btrfs/volumes.c reset_balance_state(fs_info); fs_info 4447 fs/btrfs/volumes.c clear_bit(BTRFS_FS_EXCL_OP, &fs_info->flags); fs_info 4448 fs/btrfs/volumes.c btrfs_info(fs_info, "balance: canceled"); fs_info 4452 fs/btrfs/volumes.c BUG_ON(fs_info->balance_ctl || fs_info 4453 fs/btrfs/volumes.c test_bit(BTRFS_FS_BALANCE_RUNNING, &fs_info->flags)); fs_info 4454 fs/btrfs/volumes.c atomic_dec(&fs_info->balance_cancel_req); fs_info 4455 fs/btrfs/volumes.c mutex_unlock(&fs_info->balance_mutex); fs_info 4461 fs/btrfs/volumes.c struct btrfs_fs_info *fs_info = data; fs_info 4462 fs/btrfs/volumes.c struct btrfs_root *root = fs_info->tree_root; fs_info 4519 fs/btrfs/volumes.c trans = btrfs_start_transaction(fs_info->uuid_root, 2); fs_info 4534 fs/btrfs/volumes.c btrfs_warn(fs_info, "uuid_tree_add failed %d", fs_info 4546 fs/btrfs/volumes.c btrfs_warn(fs_info, "uuid_tree_add failed %d", fs_info 4581 fs/btrfs/volumes.c btrfs_warn(fs_info, "btrfs_uuid_scan_kthread failed %d", ret); fs_info 4583 fs/btrfs/volumes.c set_bit(BTRFS_FS_UPDATE_UUID_TREE_GEN, &fs_info->flags); fs_info 4584 fs/btrfs/volumes.c up(&fs_info->uuid_tree_rescan_sem); fs_info 4595 fs/btrfs/volumes.c static int btrfs_check_uuid_tree_entry(struct btrfs_fs_info *fs_info, fs_info 4609 fs/btrfs/volumes.c subvol_root = btrfs_read_fs_root_no_name(fs_info, &key); fs_info 4635 fs/btrfs/volumes.c struct btrfs_fs_info *fs_info = (struct btrfs_fs_info *)data; fs_info 4643 fs/btrfs/volumes.c ret = btrfs_uuid_tree_iterate(fs_info, btrfs_check_uuid_tree_entry); fs_info 4645 fs/btrfs/volumes.c btrfs_warn(fs_info, "iterating uuid_tree failed %d", ret); fs_info 4646 fs/btrfs/volumes.c up(&fs_info->uuid_tree_rescan_sem); fs_info 4652 fs/btrfs/volumes.c int btrfs_create_uuid_tree(struct btrfs_fs_info *fs_info) fs_info 4655 fs/btrfs/volumes.c struct btrfs_root *tree_root = fs_info->tree_root; fs_info 4676 fs/btrfs/volumes.c fs_info->uuid_root = uuid_root; fs_info 4682 fs/btrfs/volumes.c down(&fs_info->uuid_tree_rescan_sem); fs_info 4683 fs/btrfs/volumes.c task = kthread_run(btrfs_uuid_scan_kthread, fs_info, "btrfs-uuid"); fs_info 4686 fs/btrfs/volumes.c btrfs_warn(fs_info, "failed to start uuid_scan task"); fs_info 4687 fs/btrfs/volumes.c up(&fs_info->uuid_tree_rescan_sem); fs_info 4694 fs/btrfs/volumes.c int btrfs_check_uuid_tree(struct btrfs_fs_info *fs_info) fs_info 4698 fs/btrfs/volumes.c down(&fs_info->uuid_tree_rescan_sem); fs_info 4699 fs/btrfs/volumes.c task = kthread_run(btrfs_uuid_rescan_kthread, fs_info, "btrfs-uuid"); fs_info 4702 fs/btrfs/volumes.c btrfs_warn(fs_info, "failed to start uuid_rescan task"); fs_info 4703 fs/btrfs/volumes.c up(&fs_info->uuid_tree_rescan_sem); fs_info 4717 fs/btrfs/volumes.c struct btrfs_fs_info *fs_info = device->fs_info; fs_info 4718 fs/btrfs/volumes.c struct btrfs_root *root = fs_info->dev_root; fs_info 4730 fs/btrfs/volumes.c struct btrfs_super_block *super_copy = fs_info->super_copy; fs_info 4736 fs/btrfs/volumes.c new_size = round_down(new_size, fs_info->sectorsize); fs_info 4738 fs/btrfs/volumes.c diff = round_down(old_size - new_size, fs_info->sectorsize); fs_info 4755 fs/btrfs/volumes.c mutex_lock(&fs_info->chunk_mutex); fs_info 4760 fs/btrfs/volumes.c atomic64_sub(diff, &fs_info->free_chunk_space); fs_info 4769 fs/btrfs/volumes.c mutex_unlock(&fs_info->chunk_mutex); fs_info 4774 fs/btrfs/volumes.c mutex_unlock(&fs_info->chunk_mutex); fs_info 4784 fs/btrfs/volumes.c mutex_lock(&fs_info->delete_unused_bgs_mutex); fs_info 4787 fs/btrfs/volumes.c mutex_unlock(&fs_info->delete_unused_bgs_mutex); fs_info 4793 fs/btrfs/volumes.c mutex_unlock(&fs_info->delete_unused_bgs_mutex); fs_info 4807 fs/btrfs/volumes.c mutex_unlock(&fs_info->delete_unused_bgs_mutex); fs_info 4816 fs/btrfs/volumes.c mutex_unlock(&fs_info->delete_unused_bgs_mutex); fs_info 4830 fs/btrfs/volumes.c ret = btrfs_may_alloc_data_chunk(fs_info, chunk_offset); fs_info 4832 fs/btrfs/volumes.c mutex_unlock(&fs_info->delete_unused_bgs_mutex); fs_info 4836 fs/btrfs/volumes.c ret = btrfs_relocate_chunk(fs_info, chunk_offset); fs_info 4837 fs/btrfs/volumes.c mutex_unlock(&fs_info->delete_unused_bgs_mutex); fs_info 4842 fs/btrfs/volumes.c btrfs_warn(fs_info, fs_info 4866 fs/btrfs/volumes.c mutex_lock(&fs_info->chunk_mutex); fs_info 4874 fs/btrfs/volumes.c round_down(old_total - diff, fs_info->sectorsize)); fs_info 4875 fs/btrfs/volumes.c mutex_unlock(&fs_info->chunk_mutex); fs_info 4888 fs/btrfs/volumes.c mutex_lock(&fs_info->chunk_mutex); fs_info 4892 fs/btrfs/volumes.c atomic64_add(diff, &fs_info->free_chunk_space); fs_info 4893 fs/btrfs/volumes.c mutex_unlock(&fs_info->chunk_mutex); fs_info 4898 fs/btrfs/volumes.c static int btrfs_add_system_chunk(struct btrfs_fs_info *fs_info, fs_info 4902 fs/btrfs/volumes.c struct btrfs_super_block *super_copy = fs_info->super_copy; fs_info 4907 fs/btrfs/volumes.c mutex_lock(&fs_info->chunk_mutex); fs_info 4911 fs/btrfs/volumes.c mutex_unlock(&fs_info->chunk_mutex); fs_info 4922 fs/btrfs/volumes.c mutex_unlock(&fs_info->chunk_mutex); fs_info 4957 fs/btrfs/volumes.c struct btrfs_fs_info *info = trans->fs_info; fs_info 5238 fs/btrfs/volumes.c struct btrfs_fs_info *fs_info = trans->fs_info; fs_info 5239 fs/btrfs/volumes.c struct btrfs_root *extent_root = fs_info->extent_root; fs_info 5240 fs/btrfs/volumes.c struct btrfs_root *chunk_root = fs_info->chunk_root; fs_info 5253 fs/btrfs/volumes.c em = btrfs_get_chunk_map(fs_info, chunk_offset, chunk_size); fs_info 5274 fs/btrfs/volumes.c mutex_lock(&fs_info->fs_devices->device_list_mutex); fs_info 5288 fs/btrfs/volumes.c mutex_unlock(&fs_info->fs_devices->device_list_mutex); fs_info 5302 fs/btrfs/volumes.c mutex_unlock(&fs_info->fs_devices->device_list_mutex); fs_info 5311 fs/btrfs/volumes.c btrfs_set_stack_chunk_sector_size(chunk, fs_info->sectorsize); fs_info 5324 fs/btrfs/volumes.c ret = btrfs_add_system_chunk(fs_info, &key, chunk, item_size); fs_info 5344 fs/btrfs/volumes.c lockdep_assert_held(&trans->fs_info->chunk_mutex); fs_info 5345 fs/btrfs/volumes.c chunk_offset = find_next_chunk(trans->fs_info); fs_info 5351 fs/btrfs/volumes.c struct btrfs_fs_info *fs_info = trans->fs_info; fs_info 5357 fs/btrfs/volumes.c chunk_offset = find_next_chunk(fs_info); fs_info 5358 fs/btrfs/volumes.c alloc_profile = btrfs_metadata_alloc_profile(fs_info); fs_info 5363 fs/btrfs/volumes.c sys_chunk_offset = find_next_chunk(fs_info); fs_info 5364 fs/btrfs/volumes.c alloc_profile = btrfs_system_alloc_profile(fs_info); fs_info 5376 fs/btrfs/volumes.c int btrfs_chunk_readonly(struct btrfs_fs_info *fs_info, u64 chunk_offset) fs_info 5384 fs/btrfs/volumes.c em = btrfs_get_chunk_map(fs_info, chunk_offset, 1); fs_info 5433 fs/btrfs/volumes.c int btrfs_num_copies(struct btrfs_fs_info *fs_info, u64 logical, u64 len) fs_info 5439 fs/btrfs/volumes.c em = btrfs_get_chunk_map(fs_info, logical, len); fs_info 5469 fs/btrfs/volumes.c down_read(&fs_info->dev_replace.rwsem); fs_info 5470 fs/btrfs/volumes.c if (btrfs_dev_replace_is_ongoing(&fs_info->dev_replace) && fs_info 5471 fs/btrfs/volumes.c fs_info->dev_replace.tgtdev) fs_info 5473 fs/btrfs/volumes.c up_read(&fs_info->dev_replace.rwsem); fs_info 5478 fs/btrfs/volumes.c unsigned long btrfs_full_stripe_len(struct btrfs_fs_info *fs_info, fs_info 5483 fs/btrfs/volumes.c unsigned long len = fs_info->sectorsize; fs_info 5485 fs/btrfs/volumes.c em = btrfs_get_chunk_map(fs_info, logical, len); fs_info 5496 fs/btrfs/volumes.c int btrfs_is_parity_mirror(struct btrfs_fs_info *fs_info, u64 logical, u64 len) fs_info 5502 fs/btrfs/volumes.c em = btrfs_get_chunk_map(fs_info, logical, len); fs_info 5513 fs/btrfs/volumes.c static int find_live_mirror(struct btrfs_fs_info *fs_info, fs_info 5534 fs/btrfs/volumes.c fs_info->dev_replace.cont_reading_from_srcdev_mode == fs_info 5536 fs/btrfs/volumes.c srcdev = fs_info->dev_replace.srcdev; fs_info 5634 fs/btrfs/volumes.c static int __btrfs_map_block_for_discard(struct btrfs_fs_info *fs_info, fs_info 5661 fs/btrfs/volumes.c em = btrfs_get_chunk_map(fs_info, logical, length); fs_info 5794 fs/btrfs/volumes.c static int get_extra_mirror_from_replace(struct btrfs_fs_info *fs_info, fs_info 5807 fs/btrfs/volumes.c ret = __btrfs_map_block(fs_info, BTRFS_MAP_GET_READ_MIRRORS, fs_info 5971 fs/btrfs/volumes.c int btrfs_get_io_geometry(struct btrfs_fs_info *fs_info, enum btrfs_map_op op, fs_info 5986 fs/btrfs/volumes.c em = btrfs_get_chunk_map(fs_info, logical, len); fs_info 6000 fs/btrfs/volumes.c btrfs_crit(fs_info, fs_info 6057 fs/btrfs/volumes.c static int __btrfs_map_block(struct btrfs_fs_info *fs_info, fs_info 6076 fs/btrfs/volumes.c struct btrfs_dev_replace *dev_replace = &fs_info->dev_replace; fs_info 6087 fs/btrfs/volumes.c return __btrfs_map_block_for_discard(fs_info, logical, fs_info 6090 fs/btrfs/volumes.c ret = btrfs_get_io_geometry(fs_info, op, logical, *length, &geom); fs_info 6094 fs/btrfs/volumes.c em = btrfs_get_chunk_map(fs_info, logical, *length); fs_info 6116 fs/btrfs/volumes.c ret = get_extra_mirror_from_replace(fs_info, logical, *length, fs_info 6141 fs/btrfs/volumes.c stripe_index = find_live_mirror(fs_info, map, 0, fs_info 6167 fs/btrfs/volumes.c stripe_index = find_live_mirror(fs_info, map, fs_info 6214 fs/btrfs/volumes.c btrfs_crit(fs_info, fs_info 6314 fs/btrfs/volumes.c int btrfs_map_block(struct btrfs_fs_info *fs_info, enum btrfs_map_op op, fs_info 6318 fs/btrfs/volumes.c return __btrfs_map_block(fs_info, op, logical, length, bbio_ret, fs_info 6323 fs/btrfs/volumes.c int btrfs_map_sblock(struct btrfs_fs_info *fs_info, enum btrfs_map_op op, fs_info 6327 fs/btrfs/volumes.c return __btrfs_map_block(fs_info, op, logical, length, bbio_ret, 0, 1); fs_info 6330 fs/btrfs/volumes.c int btrfs_rmap_block(struct btrfs_fs_info *fs_info, u64 chunk_start, fs_info 6342 fs/btrfs/volumes.c em = btrfs_get_chunk_map(fs_info, chunk_start, 1); fs_info 6440 fs/btrfs/volumes.c btrfs_bio_counter_dec(bbio->fs_info); fs_info 6478 fs/btrfs/volumes.c struct btrfs_fs_info *fs_info = device->fs_info; fs_info 6509 fs/btrfs/volumes.c btrfs_queue_work(fs_info->submit_workers, &device->work); fs_info 6516 fs/btrfs/volumes.c struct btrfs_fs_info *fs_info = bbio->fs_info; fs_info 6522 fs/btrfs/volumes.c btrfs_debug_in_rcu(fs_info, fs_info 6529 fs/btrfs/volumes.c btrfs_bio_counter_inc_noblocked(fs_info); fs_info 6554 fs/btrfs/volumes.c blk_status_t btrfs_map_bio(struct btrfs_fs_info *fs_info, struct bio *bio, fs_info 6570 fs/btrfs/volumes.c btrfs_bio_counter_inc_blocked(fs_info); fs_info 6571 fs/btrfs/volumes.c ret = __btrfs_map_block(fs_info, btrfs_op(bio), logical, fs_info 6574 fs/btrfs/volumes.c btrfs_bio_counter_dec(fs_info); fs_info 6582 fs/btrfs/volumes.c bbio->fs_info = fs_info; fs_info 6590 fs/btrfs/volumes.c ret = raid56_parity_write(fs_info, bio, bbio, fs_info 6593 fs/btrfs/volumes.c ret = raid56_parity_recover(fs_info, bio, bbio, fs_info 6597 fs/btrfs/volumes.c btrfs_bio_counter_dec(fs_info); fs_info 6602 fs/btrfs/volumes.c btrfs_crit(fs_info, fs_info 6626 fs/btrfs/volumes.c btrfs_bio_counter_dec(fs_info); fs_info 6696 fs/btrfs/volumes.c struct btrfs_device *btrfs_alloc_device(struct btrfs_fs_info *fs_info, fs_info 6703 fs/btrfs/volumes.c if (WARN_ON(!devid && !fs_info)) fs_info 6715 fs/btrfs/volumes.c ret = find_next_devid(fs_info, &tmp); fs_info 6733 fs/btrfs/volumes.c static void btrfs_report_missing_device(struct btrfs_fs_info *fs_info, fs_info 6737 fs/btrfs/volumes.c btrfs_err_rl(fs_info, "devid %llu uuid %pU is missing", fs_info 6740 fs/btrfs/volumes.c btrfs_warn_rl(fs_info, "devid %llu uuid %pU is missing", fs_info 6767 fs/btrfs/volumes.c struct btrfs_fs_info *fs_info = leaf->fs_info; fs_info 6768 fs/btrfs/volumes.c struct extent_map_tree *map_tree = &fs_info->mapping_tree; fs_info 6838 fs/btrfs/volumes.c map->stripes[i].dev = btrfs_find_device(fs_info->fs_devices, fs_info 6841 fs/btrfs/volumes.c !btrfs_test_opt(fs_info, DEGRADED)) { fs_info 6843 fs/btrfs/volumes.c btrfs_report_missing_device(fs_info, devid, uuid, true); fs_info 6848 fs/btrfs/volumes.c add_missing_dev(fs_info->fs_devices, devid, fs_info 6852 fs/btrfs/volumes.c btrfs_err(fs_info, fs_info 6857 fs/btrfs/volumes.c btrfs_report_missing_device(fs_info, devid, uuid, false); fs_info 6868 fs/btrfs/volumes.c btrfs_err(fs_info, fs_info 6900 fs/btrfs/volumes.c static struct btrfs_fs_devices *open_seed_devices(struct btrfs_fs_info *fs_info, fs_info 6909 fs/btrfs/volumes.c fs_devices = fs_info->fs_devices->seed; fs_info 6919 fs/btrfs/volumes.c if (!btrfs_test_opt(fs_info, DEGRADED)) fs_info 6935 fs/btrfs/volumes.c ret = open_fs_devices(fs_devices, FMODE_READ, fs_info->bdev_holder); fs_info 6949 fs/btrfs/volumes.c fs_devices->seed = fs_info->fs_devices->seed; fs_info 6950 fs/btrfs/volumes.c fs_info->fs_devices->seed = fs_devices; fs_info 6958 fs/btrfs/volumes.c struct btrfs_fs_info *fs_info = leaf->fs_info; fs_info 6959 fs/btrfs/volumes.c struct btrfs_fs_devices *fs_devices = fs_info->fs_devices; fs_info 6973 fs/btrfs/volumes.c fs_devices = open_seed_devices(fs_info, fs_uuid); fs_info 6978 fs/btrfs/volumes.c device = btrfs_find_device(fs_info->fs_devices, devid, dev_uuid, fs_info 6981 fs/btrfs/volumes.c if (!btrfs_test_opt(fs_info, DEGRADED)) { fs_info 6982 fs/btrfs/volumes.c btrfs_report_missing_device(fs_info, devid, fs_info 6989 fs/btrfs/volumes.c btrfs_err(fs_info, fs_info 6994 fs/btrfs/volumes.c btrfs_report_missing_device(fs_info, devid, dev_uuid, false); fs_info 6997 fs/btrfs/volumes.c if (!btrfs_test_opt(fs_info, DEGRADED)) { fs_info 6998 fs/btrfs/volumes.c btrfs_report_missing_device(fs_info, fs_info 7002 fs/btrfs/volumes.c btrfs_report_missing_device(fs_info, devid, fs_info 7034 fs/btrfs/volumes.c if (device->fs_devices != fs_info->fs_devices) { fs_info 7047 fs/btrfs/volumes.c &fs_info->free_chunk_space); fs_info 7053 fs/btrfs/volumes.c int btrfs_read_sys_array(struct btrfs_fs_info *fs_info) fs_info 7055 fs/btrfs/volumes.c struct btrfs_root *root = fs_info->tree_root; fs_info 7056 fs/btrfs/volumes.c struct btrfs_super_block *super_copy = fs_info->super_copy; fs_info 7070 fs/btrfs/volumes.c ASSERT(BTRFS_SUPER_INFO_SIZE <= fs_info->nodesize); fs_info 7076 fs/btrfs/volumes.c sb = btrfs_find_create_tree_block(fs_info, BTRFS_SUPER_INFO_OFFSET); fs_info 7127 fs/btrfs/volumes.c btrfs_err(fs_info, fs_info 7136 fs/btrfs/volumes.c btrfs_err(fs_info, fs_info 7151 fs/btrfs/volumes.c btrfs_err(fs_info, fs_info 7166 fs/btrfs/volumes.c btrfs_err(fs_info, "sys_array too short to read %u bytes at offset %u", fs_info 7181 fs/btrfs/volumes.c bool btrfs_check_rw_degradable(struct btrfs_fs_info *fs_info, fs_info 7184 fs/btrfs/volumes.c struct extent_map_tree *map_tree = &fs_info->mapping_tree; fs_info 7219 fs/btrfs/volumes.c btrfs_warn(fs_info, fs_info 7238 fs/btrfs/volumes.c int btrfs_read_chunk_tree(struct btrfs_fs_info *fs_info) fs_info 7240 fs/btrfs/volumes.c struct btrfs_root *root = fs_info->chunk_root; fs_info 7258 fs/btrfs/volumes.c mutex_lock(&fs_info->chunk_mutex); fs_info 7306 fs/btrfs/volumes.c if (total_dev != fs_info->fs_devices->total_devices) { fs_info 7307 fs/btrfs/volumes.c btrfs_err(fs_info, fs_info 7309 fs/btrfs/volumes.c btrfs_super_num_devices(fs_info->super_copy), fs_info 7314 fs/btrfs/volumes.c if (btrfs_super_total_bytes(fs_info->super_copy) < fs_info 7315 fs/btrfs/volumes.c fs_info->fs_devices->total_rw_bytes) { fs_info 7316 fs/btrfs/volumes.c btrfs_err(fs_info, fs_info 7318 fs/btrfs/volumes.c btrfs_super_total_bytes(fs_info->super_copy), fs_info 7319 fs/btrfs/volumes.c fs_info->fs_devices->total_rw_bytes); fs_info 7325 fs/btrfs/volumes.c mutex_unlock(&fs_info->chunk_mutex); fs_info 7332 fs/btrfs/volumes.c void btrfs_init_devices_late(struct btrfs_fs_info *fs_info) fs_info 7334 fs/btrfs/volumes.c struct btrfs_fs_devices *fs_devices = fs_info->fs_devices; fs_info 7340 fs/btrfs/volumes.c device->fs_info = fs_info; fs_info 7370 fs/btrfs/volumes.c int btrfs_init_dev_stats(struct btrfs_fs_info *fs_info) fs_info 7373 fs/btrfs/volumes.c struct btrfs_root *dev_root = fs_info->dev_root; fs_info 7374 fs/btrfs/volumes.c struct btrfs_fs_devices *fs_devices = fs_info->fs_devices; fs_info 7430 fs/btrfs/volumes.c struct btrfs_fs_info *fs_info = trans->fs_info; fs_info 7431 fs/btrfs/volumes.c struct btrfs_root *dev_root = fs_info->dev_root; fs_info 7448 fs/btrfs/volumes.c btrfs_warn_in_rcu(fs_info, fs_info 7459 fs/btrfs/volumes.c btrfs_warn_in_rcu(fs_info, fs_info 7473 fs/btrfs/volumes.c btrfs_warn_in_rcu(fs_info, fs_info 7497 fs/btrfs/volumes.c struct btrfs_fs_info *fs_info = trans->fs_info; fs_info 7498 fs/btrfs/volumes.c struct btrfs_fs_devices *fs_devices = fs_info->fs_devices; fs_info 7542 fs/btrfs/volumes.c btrfs_err_rl_in_rcu(dev->fs_info, fs_info 7562 fs/btrfs/volumes.c btrfs_info_in_rcu(dev->fs_info, fs_info 7572 fs/btrfs/volumes.c int btrfs_get_dev_stats(struct btrfs_fs_info *fs_info, fs_info 7576 fs/btrfs/volumes.c struct btrfs_fs_devices *fs_devices = fs_info->fs_devices; fs_info 7580 fs/btrfs/volumes.c dev = btrfs_find_device(fs_info->fs_devices, stats->devid, NULL, NULL, fs_info 7585 fs/btrfs/volumes.c btrfs_warn(fs_info, "get dev_stats failed, device not found"); fs_info 7588 fs/btrfs/volumes.c btrfs_warn(fs_info, "get dev_stats failed, not yet valid"); fs_info 7598 fs/btrfs/volumes.c btrfs_info(fs_info, "device stats zeroed by %s (%d)", fs_info 7661 fs/btrfs/volumes.c mutex_lock(&trans->fs_info->chunk_mutex); fs_info 7668 fs/btrfs/volumes.c mutex_unlock(&trans->fs_info->chunk_mutex); fs_info 7671 fs/btrfs/volumes.c void btrfs_set_fs_info_ptr(struct btrfs_fs_info *fs_info) fs_info 7673 fs/btrfs/volumes.c struct btrfs_fs_devices *fs_devices = fs_info->fs_devices; fs_info 7675 fs/btrfs/volumes.c fs_devices->fs_info = fs_info; fs_info 7680 fs/btrfs/volumes.c void btrfs_reset_fs_info_ptr(struct btrfs_fs_info *fs_info) fs_info 7682 fs/btrfs/volumes.c struct btrfs_fs_devices *fs_devices = fs_info->fs_devices; fs_info 7684 fs/btrfs/volumes.c fs_devices->fs_info = NULL; fs_info 7701 fs/btrfs/volumes.c static int verify_one_dev_extent(struct btrfs_fs_info *fs_info, fs_info 7705 fs/btrfs/volumes.c struct extent_map_tree *em_tree = &fs_info->mapping_tree; fs_info 7719 fs/btrfs/volumes.c btrfs_err(fs_info, fs_info 7729 fs/btrfs/volumes.c btrfs_err(fs_info, fs_info 7742 fs/btrfs/volumes.c btrfs_err(fs_info, fs_info 7753 fs/btrfs/volumes.c btrfs_err(fs_info, fs_info 7760 fs/btrfs/volumes.c dev = btrfs_find_device(fs_info->fs_devices, devid, NULL, NULL, true); fs_info 7762 fs/btrfs/volumes.c btrfs_err(fs_info, "failed to find devid %llu", devid); fs_info 7769 fs/btrfs/volumes.c dev = btrfs_find_device(fs_info->fs_devices->seed, devid, NULL, fs_info 7772 fs/btrfs/volumes.c btrfs_err(fs_info, "failed to find seed devid %llu", fs_info 7780 fs/btrfs/volumes.c btrfs_err(fs_info, fs_info 7792 fs/btrfs/volumes.c static int verify_chunk_dev_extent_mapping(struct btrfs_fs_info *fs_info) fs_info 7794 fs/btrfs/volumes.c struct extent_map_tree *em_tree = &fs_info->mapping_tree; fs_info 7804 fs/btrfs/volumes.c btrfs_err(fs_info, fs_info 7824 fs/btrfs/volumes.c int btrfs_verify_dev_extents(struct btrfs_fs_info *fs_info) fs_info 7827 fs/btrfs/volumes.c struct btrfs_root *root = fs_info->dev_root; fs_info 7877 fs/btrfs/volumes.c btrfs_err(fs_info, fs_info 7884 fs/btrfs/volumes.c ret = verify_one_dev_extent(fs_info, chunk_offset, devid, fs_info 7901 fs/btrfs/volumes.c ret = verify_chunk_dev_extent_mapping(fs_info); fs_info 7911 fs/btrfs/volumes.c bool btrfs_pinned_by_swapfile(struct btrfs_fs_info *fs_info, void *ptr) fs_info 7916 fs/btrfs/volumes.c spin_lock(&fs_info->swapfile_pins_lock); fs_info 7917 fs/btrfs/volumes.c node = fs_info->swapfile_pins.rb_node; fs_info 7927 fs/btrfs/volumes.c spin_unlock(&fs_info->swapfile_pins_lock); fs_info 65 fs/btrfs/volumes.h struct btrfs_fs_info *fs_info; fs_info 266 fs/btrfs/volumes.h struct btrfs_fs_info *fs_info; fs_info 329 fs/btrfs/volumes.h struct btrfs_fs_info *fs_info; fs_info 423 fs/btrfs/volumes.h int btrfs_map_block(struct btrfs_fs_info *fs_info, enum btrfs_map_op op, fs_info 426 fs/btrfs/volumes.h int btrfs_map_sblock(struct btrfs_fs_info *fs_info, enum btrfs_map_op op, fs_info 429 fs/btrfs/volumes.h int btrfs_get_io_geometry(struct btrfs_fs_info *fs_info, enum btrfs_map_op op, fs_info 431 fs/btrfs/volumes.h int btrfs_rmap_block(struct btrfs_fs_info *fs_info, u64 chunk_start, fs_info 433 fs/btrfs/volumes.h int btrfs_read_sys_array(struct btrfs_fs_info *fs_info); fs_info 434 fs/btrfs/volumes.h int btrfs_read_chunk_tree(struct btrfs_fs_info *fs_info); fs_info 437 fs/btrfs/volumes.h blk_status_t btrfs_map_bio(struct btrfs_fs_info *fs_info, struct bio *bio, fs_info 448 fs/btrfs/volumes.h struct btrfs_device *btrfs_find_device_by_devspec(struct btrfs_fs_info *fs_info, fs_info 451 fs/btrfs/volumes.h struct btrfs_device *btrfs_alloc_device(struct btrfs_fs_info *fs_info, fs_info 455 fs/btrfs/volumes.h int btrfs_rm_device(struct btrfs_fs_info *fs_info, fs_info 458 fs/btrfs/volumes.h int btrfs_num_copies(struct btrfs_fs_info *fs_info, u64 logical, u64 len); fs_info 464 fs/btrfs/volumes.h int btrfs_init_new_device(struct btrfs_fs_info *fs_info, const char *path); fs_info 465 fs/btrfs/volumes.h int btrfs_balance(struct btrfs_fs_info *fs_info, fs_info 469 fs/btrfs/volumes.h int btrfs_resume_balance_async(struct btrfs_fs_info *fs_info); fs_info 470 fs/btrfs/volumes.h int btrfs_recover_balance(struct btrfs_fs_info *fs_info); fs_info 471 fs/btrfs/volumes.h int btrfs_pause_balance(struct btrfs_fs_info *fs_info); fs_info 472 fs/btrfs/volumes.h int btrfs_cancel_balance(struct btrfs_fs_info *fs_info); fs_info 473 fs/btrfs/volumes.h int btrfs_create_uuid_tree(struct btrfs_fs_info *fs_info); fs_info 474 fs/btrfs/volumes.h int btrfs_check_uuid_tree(struct btrfs_fs_info *fs_info); fs_info 475 fs/btrfs/volumes.h int btrfs_chunk_readonly(struct btrfs_fs_info *fs_info, u64 chunk_offset); fs_info 479 fs/btrfs/volumes.h int btrfs_get_dev_stats(struct btrfs_fs_info *fs_info, fs_info 481 fs/btrfs/volumes.h void btrfs_init_devices_late(struct btrfs_fs_info *fs_info); fs_info 482 fs/btrfs/volumes.h int btrfs_init_dev_stats(struct btrfs_fs_info *fs_info); fs_info 488 fs/btrfs/volumes.h int btrfs_is_parity_mirror(struct btrfs_fs_info *fs_info, fs_info 490 fs/btrfs/volumes.h unsigned long btrfs_full_stripe_len(struct btrfs_fs_info *fs_info, fs_info 495 fs/btrfs/volumes.h struct extent_map *btrfs_get_chunk_map(struct btrfs_fs_info *fs_info, fs_info 574 fs/btrfs/volumes.h void btrfs_set_fs_info_ptr(struct btrfs_fs_info *fs_info); fs_info 575 fs/btrfs/volumes.h void btrfs_reset_fs_info_ptr(struct btrfs_fs_info *fs_info); fs_info 576 fs/btrfs/volumes.h bool btrfs_check_rw_degradable(struct btrfs_fs_info *fs_info, fs_info 581 fs/btrfs/volumes.h int btrfs_verify_dev_extents(struct btrfs_fs_info *fs_info); fs_info 84 fs/btrfs/xattr.c struct btrfs_fs_info *fs_info = root->fs_info; fs_info 91 fs/btrfs/xattr.c if (name_len + size > BTRFS_MAX_XATTR_SIZE(root->fs_info)) fs_info 142 fs/btrfs/xattr.c di = btrfs_match_dir_item_name(fs_info, path, name, name_len); fs_info 149 fs/btrfs/xattr.c di = btrfs_match_dir_item_name(fs_info, path, name, name_len); fs_info 31 fs/ext2/xattr_security.c void *fs_info) fs_info 36 fs/ext4/xattr_security.c void *fs_info) fs_info 39 fs/ext4/xattr_security.c handle_t *handle = fs_info; fs_info 2318 fs/gfs2/bmap.c fs_info(sdp, "journal %d mapped with %u extents in %lldms\n", jd->jd_jid, fs_info 534 fs/gfs2/glops.c fs_info(sdp, "GFS2: couldn't freeze filesystem: %d\n", fs_info 549 fs/gfs2/inode.c void *fs_info) fs_info 636 fs/gfs2/lock_dlm.c fs_info(sdp, "recover generation %u block1 %u %u\n", fs_info 723 fs/gfs2/lock_dlm.c fs_info(sdp, "recover generation %u jid %d\n", fs_info 743 fs/gfs2/lock_dlm.c fs_info(sdp, "recover generation %u done\n", start_gen); fs_info 746 fs/gfs2/lock_dlm.c fs_info(sdp, "recover generation %u block2 %u %u\n", fs_info 876 fs/gfs2/lock_dlm.c fs_info(sdp, "first mounter control generation %u\n", lvb_gen); fs_info 892 fs/gfs2/lock_dlm.c fs_info(sdp, "control_mount wait for journal recovery\n"); fs_info 905 fs/gfs2/lock_dlm.c fs_info(sdp, "Recovery is required. Waiting for a " fs_info 909 fs/gfs2/lock_dlm.c fs_info(sdp, "control_mount wait1 block %u start %u " fs_info 921 fs/gfs2/lock_dlm.c fs_info(sdp, "control_mount wait2 block %u start %u mount %u " fs_info 930 fs/gfs2/lock_dlm.c fs_info(sdp, "control_mount wait3 block %u start %u mount %u " fs_info 981 fs/gfs2/lock_dlm.c fs_info(sdp, "control_first_done wait gen %u\n", start_gen); fs_info 1113 fs/gfs2/lock_dlm.c fs_info(sdp, "recover_slot jid %d gen %u prev %u\n", fs_info 1174 fs/gfs2/lock_dlm.c fs_info(sdp, "recover jid %d result %s\n", jid, fs_info 1228 fs/gfs2/lock_dlm.c fs_info(sdp, "no fsname found\n"); fs_info 1255 fs/gfs2/lock_dlm.c fs_info(sdp, "dlm lockspace ops not used\n"); fs_info 792 fs/gfs2/lops.c fs_info(sdp, "Replaying 0x%llx but we " fs_info 795 fs/gfs2/lops.c fs_info(sdp, "busy:%d, pinned:%d\n", fs_info 851 fs/gfs2/lops.c fs_info(sdp, "jid=%u: Replayed %u of %u blocks\n", fs_info 981 fs/gfs2/lops.c fs_info(sdp, "jid=%u: Found %u revoke tags\n", fs_info 1067 fs/gfs2/lops.c fs_info(sdp, "jid=%u: Replayed %u of %u data blocks\n", fs_info 524 fs/gfs2/ops_fstype.c fs_info(sdp, "first mount done, others may mount\n"); fs_info 955 fs/gfs2/ops_fstype.c fs_info(sdp, "Trying to join cluster \"%s\", \"%s\"\n", proto, table); fs_info 989 fs/gfs2/ops_fstype.c fs_info(sdp, "unknown hostdata (%s)\n", o); fs_info 995 fs/gfs2/ops_fstype.c fs_info(sdp, "Now mounting FS...\n"); fs_info 1001 fs/gfs2/ops_fstype.c fs_info(sdp, "Joined cluster. Now mounting FS...\n"); fs_info 1163 fs/gfs2/quota.c fs_info(sdp, "quota %s for %s %u\n", fs_info 1427 fs/gfs2/quota.c fs_info(sdp, "found %u quota changes\n", found); fs_info 310 fs/gfs2/recovery.c fs_info(sdp, "jid=%u: Trying to acquire journal lock...\n", fs_info 324 fs/gfs2/recovery.c fs_info(sdp, "jid=%u: Busy\n", jd->jd_jid); fs_info 336 fs/gfs2/recovery.c fs_info(sdp, "jid=%u, already locked for use\n", jd->jd_jid); fs_info 340 fs/gfs2/recovery.c fs_info(sdp, "jid=%u: Looking at journal...\n", jd->jd_jid); fs_info 350 fs/gfs2/recovery.c fs_info(sdp, "jid=%u: Journal head lookup took %lldms\n", jd->jd_jid, fs_info 354 fs/gfs2/recovery.c fs_info(sdp, "jid=%u: Acquiring the transaction lock...\n", fs_info 375 fs/gfs2/recovery.c fs_info(sdp, "recovery required on " fs_info 377 fs/gfs2/recovery.c fs_info(sdp, "write access will be " fs_info 391 fs/gfs2/recovery.c fs_info(sdp, "jid=%u: Replaying journal...0x%x to 0x%x\n", fs_info 407 fs/gfs2/recovery.c fs_info(sdp, "jid=%u: Journal replayed in %lldms [jlck:%lldms, " fs_info 423 fs/gfs2/recovery.c fs_info(sdp, "jid=%u: Done\n", jd->jd_jid); fs_info 435 fs/gfs2/recovery.c fs_info(sdp, "jid=%u: %s\n", jd->jd_jid, (error) ? "Failed" : "Done"); fs_info 750 fs/gfs2/rgrp.c fs_info(sdp, "ri_addr = %llu\n", (unsigned long long)rgd->rd_addr); fs_info 751 fs/gfs2/rgrp.c fs_info(sdp, "ri_length = %u\n", rgd->rd_length); fs_info 752 fs/gfs2/rgrp.c fs_info(sdp, "ri_data0 = %llu\n", (unsigned long long)rgd->rd_data0); fs_info 753 fs/gfs2/rgrp.c fs_info(sdp, "ri_data = %u\n", rgd->rd_data); fs_info 754 fs/gfs2/rgrp.c fs_info(sdp, "ri_bitbytes = %u\n", rgd->rd_bitbytes); fs_info 729 fs/gfs2/super.c fs_info(sdp, "GFS2: couldn't get freeze lock : %d\n", error); fs_info 735 fs/gfs2/super.c fs_info(sdp, "GFS2: couldn't thaw filesystem: %d\n", fs_info 262 fs/gfs2/sys.c fs_info(sdp, "demote interface used\n"); fs_info 229 fs/gfs2/trans.c fs_info(sdp, "GFS2:adding buf while frozen\n"); fs_info 37 fs/hfsplus/xattr_security.c void *fs_info) fs_info 27 fs/jffs2/security.c const struct xattr *xattr_array, void *fs_info) fs_info 1001 fs/jfs/xattr.c void *fs_info) fs_info 1004 fs/jfs/xattr.c tid_t *tid = fs_info; fs_info 7261 fs/ocfs2/xattr.c void *fs_info) fs_info 47 fs/proc_namespace.c static const struct proc_fs_info fs_info[] = { fs_info 56 fs/proc_namespace.c for (fs_infop = fs_info; fs_infop->flag; fs_infop++) { fs_info 625 fs/ubifs/xattr.c void *fs_info) fs_info 45 fs/xfs/xfs_iops.c void *fs_info) fs_info 124 include/trace/events/btrfs.h #define TP_fast_assign_fsid(fs_info) \ fs_info 126 include/trace/events/btrfs.h if (fs_info) \ fs_info 127 include/trace/events/btrfs.h memcpy(__entry->fsid, fs_info->fs_devices->fsid, \ fs_info 137 include/trace/events/btrfs.h #define TP_fast_assign_btrfs(fs_info, args...) \ fs_info 139 include/trace/events/btrfs.h TP_fast_assign_fsid(fs_info); \ fs_info 155 include/trace/events/btrfs.h TP_fast_assign_btrfs(root->fs_info, fs_info 156 include/trace/events/btrfs.h __entry->generation = root->fs_info->generation; fs_info 265 include/trace/events/btrfs.h TP_fast_assign_btrfs(root->fs_info, fs_info 295 include/trace/events/btrfs.h TP_PROTO(struct btrfs_fs_info *fs_info, fs_info 299 include/trace/events/btrfs.h TP_ARGS(fs_info, existing, map, start, len), fs_info 310 include/trace/events/btrfs.h TP_fast_assign_btrfs(fs_info, fs_info 354 include/trace/events/btrfs.h TP_fast_assign_btrfs(bi->root->fs_info, fs_info 405 include/trace/events/btrfs.h bi->root->fs_info, fs_info 684 include/trace/events/btrfs.h TP_PROTO(const struct btrfs_fs_info *fs_info, int wait), fs_info 686 include/trace/events/btrfs.h TP_ARGS(fs_info, wait), fs_info 692 include/trace/events/btrfs.h TP_fast_assign_btrfs(fs_info, fs_info 701 include/trace/events/btrfs.h TP_PROTO(const struct btrfs_fs_info *fs_info, fs_info 704 include/trace/events/btrfs.h TP_ARGS(fs_info, block_group, create), fs_info 715 include/trace/events/btrfs.h TP_fast_assign_btrfs(fs_info, fs_info 747 include/trace/events/btrfs.h TP_PROTO(const struct btrfs_fs_info *fs_info, fs_info 752 include/trace/events/btrfs.h TP_ARGS(fs_info, ref, full_ref, action), fs_info 765 include/trace/events/btrfs.h TP_fast_assign_btrfs(fs_info, fs_info 790 include/trace/events/btrfs.h TP_PROTO(const struct btrfs_fs_info *fs_info, fs_info 795 include/trace/events/btrfs.h TP_ARGS(fs_info, ref, full_ref, action) fs_info 800 include/trace/events/btrfs.h TP_PROTO(const struct btrfs_fs_info *fs_info, fs_info 805 include/trace/events/btrfs.h TP_ARGS(fs_info, ref, full_ref, action) fs_info 810 include/trace/events/btrfs.h TP_PROTO(const struct btrfs_fs_info *fs_info, fs_info 815 include/trace/events/btrfs.h TP_ARGS(fs_info, ref, full_ref, action), fs_info 829 include/trace/events/btrfs.h TP_fast_assign_btrfs(fs_info, fs_info 857 include/trace/events/btrfs.h TP_PROTO(const struct btrfs_fs_info *fs_info, fs_info 862 include/trace/events/btrfs.h TP_ARGS(fs_info, ref, full_ref, action) fs_info 867 include/trace/events/btrfs.h TP_PROTO(const struct btrfs_fs_info *fs_info, fs_info 872 include/trace/events/btrfs.h TP_ARGS(fs_info, ref, full_ref, action) fs_info 877 include/trace/events/btrfs.h TP_PROTO(const struct btrfs_fs_info *fs_info, fs_info 881 include/trace/events/btrfs.h TP_ARGS(fs_info, head_ref, action), fs_info 890 include/trace/events/btrfs.h TP_fast_assign_btrfs(fs_info, fs_info 906 include/trace/events/btrfs.h TP_PROTO(const struct btrfs_fs_info *fs_info, fs_info 910 include/trace/events/btrfs.h TP_ARGS(fs_info, head_ref, action) fs_info 915 include/trace/events/btrfs.h TP_PROTO(const struct btrfs_fs_info *fs_info, fs_info 919 include/trace/events/btrfs.h TP_ARGS(fs_info, head_ref, action) fs_info 936 include/trace/events/btrfs.h TP_PROTO(const struct btrfs_fs_info *fs_info, fs_info 939 include/trace/events/btrfs.h TP_ARGS(fs_info, map, offset, size), fs_info 950 include/trace/events/btrfs.h TP_fast_assign_btrfs(fs_info, fs_info 956 include/trace/events/btrfs.h __entry->root_objectid = fs_info->chunk_root->root_key.objectid; fs_info 970 include/trace/events/btrfs.h TP_PROTO(const struct btrfs_fs_info *fs_info, fs_info 973 include/trace/events/btrfs.h TP_ARGS(fs_info, map, offset, size) fs_info 978 include/trace/events/btrfs.h TP_PROTO(const struct btrfs_fs_info *fs_info, fs_info 981 include/trace/events/btrfs.h TP_ARGS(fs_info, map, offset, size) fs_info 1000 include/trace/events/btrfs.h TP_fast_assign_btrfs(root->fs_info, fs_info 1021 include/trace/events/btrfs.h TP_PROTO(const struct btrfs_fs_info *fs_info, char *type, u64 val, fs_info 1024 include/trace/events/btrfs.h TP_ARGS(fs_info, type, val, bytes, reserve), fs_info 1033 include/trace/events/btrfs.h TP_fast_assign_btrfs(fs_info, fs_info 1053 include/trace/events/btrfs.h TP_PROTO(const struct btrfs_fs_info *fs_info, u64 flags, u64 bytes, fs_info 1056 include/trace/events/btrfs.h TP_ARGS(fs_info, flags, bytes, flush, reason), fs_info 1065 include/trace/events/btrfs.h TP_fast_assign_btrfs(fs_info, fs_info 1096 include/trace/events/btrfs.h TP_PROTO(const struct btrfs_fs_info *fs_info, u64 flags, u64 num_bytes, fs_info 1099 include/trace/events/btrfs.h TP_ARGS(fs_info, flags, num_bytes, state, ret), fs_info 1108 include/trace/events/btrfs.h TP_fast_assign_btrfs(fs_info, fs_info 1126 include/trace/events/btrfs.h TP_PROTO(const struct btrfs_fs_info *fs_info, u64 start, u64 len), fs_info 1128 include/trace/events/btrfs.h TP_ARGS(fs_info, start, len), fs_info 1135 include/trace/events/btrfs.h TP_fast_assign_btrfs(fs_info, fs_info 1148 include/trace/events/btrfs.h TP_PROTO(const struct btrfs_fs_info *fs_info, u64 start, u64 len), fs_info 1150 include/trace/events/btrfs.h TP_ARGS(fs_info, start, len) fs_info 1155 include/trace/events/btrfs.h TP_PROTO(const struct btrfs_fs_info *fs_info, u64 start, u64 len), fs_info 1157 include/trace/events/btrfs.h TP_ARGS(fs_info, start, len) fs_info 1162 include/trace/events/btrfs.h TP_PROTO(const struct btrfs_fs_info *fs_info, u64 num_bytes, fs_info 1165 include/trace/events/btrfs.h TP_ARGS(fs_info, num_bytes, empty_size, data), fs_info 1173 include/trace/events/btrfs.h TP_fast_assign_btrfs(fs_info, fs_info 1200 include/trace/events/btrfs.h TP_fast_assign_btrfs(block_group->fs_info, fs_info 1248 include/trace/events/btrfs.h TP_fast_assign_btrfs(block_group->fs_info, fs_info 1275 include/trace/events/btrfs.h TP_fast_assign_btrfs(block_group->fs_info, fs_info 1299 include/trace/events/btrfs.h TP_fast_assign_btrfs(block_group->fs_info, fs_info 1398 include/trace/events/btrfs.h TP_PROTO(const struct btrfs_fs_info *fs_info, const void *wtag), fs_info 1400 include/trace/events/btrfs.h TP_ARGS(fs_info, wtag), fs_info 1406 include/trace/events/btrfs.h TP_fast_assign_btrfs(fs_info, fs_info 1429 include/trace/events/btrfs.h TP_PROTO(const struct btrfs_fs_info *fs_info, const void *wtag), fs_info 1431 include/trace/events/btrfs.h TP_ARGS(fs_info, wtag) fs_info 1554 include/trace/events/btrfs.h TP_PROTO(const struct btrfs_fs_info *fs_info, fs_info 1557 include/trace/events/btrfs.h TP_ARGS(fs_info, rec), fs_info 1564 include/trace/events/btrfs.h TP_fast_assign_btrfs(fs_info, fs_info 1576 include/trace/events/btrfs.h TP_PROTO(const struct btrfs_fs_info *fs_info, fs_info 1579 include/trace/events/btrfs.h TP_ARGS(fs_info, rec) fs_info 1584 include/trace/events/btrfs.h TP_PROTO(const struct btrfs_fs_info *fs_info, fs_info 1587 include/trace/events/btrfs.h TP_ARGS(fs_info, rec) fs_info 1592 include/trace/events/btrfs.h TP_PROTO(const struct btrfs_fs_info *fs_info, u64 transid, fs_info 1595 include/trace/events/btrfs.h TP_ARGS(fs_info, transid, num_dirty_extents), fs_info 1602 include/trace/events/btrfs.h TP_fast_assign_btrfs(fs_info, fs_info 1613 include/trace/events/btrfs.h TP_PROTO(const struct btrfs_fs_info *fs_info, u64 transid, u64 bytenr, fs_info 1616 include/trace/events/btrfs.h TP_ARGS(fs_info, transid, bytenr, num_bytes, nr_old_roots, fs_info 1627 include/trace/events/btrfs.h TP_fast_assign_btrfs(fs_info, fs_info 1646 include/trace/events/btrfs.h TP_PROTO(const struct btrfs_fs_info *fs_info, fs_info 1650 include/trace/events/btrfs.h TP_ARGS(fs_info, qgroup, cur_old_count, cur_new_count), fs_info 1660 include/trace/events/btrfs.h TP_fast_assign_btrfs(fs_info, fs_info 1675 include/trace/events/btrfs.h TP_PROTO(struct btrfs_fs_info *fs_info, struct btrfs_qgroup *qgroup, fs_info 1678 include/trace/events/btrfs.h TP_ARGS(fs_info, qgroup, diff, type), fs_info 1687 include/trace/events/btrfs.h TP_fast_assign_btrfs(fs_info, fs_info 1711 include/trace/events/btrfs.h TP_fast_assign_btrfs(root->fs_info, fs_info 1733 include/trace/events/btrfs.h TP_fast_assign_btrfs(root->fs_info, fs_info 1757 include/trace/events/btrfs.h TP_fast_assign_btrfs(root->fs_info, fs_info 1771 include/trace/events/btrfs.h TP_PROTO(const struct btrfs_fs_info *fs_info, fs_info 1774 include/trace/events/btrfs.h TP_ARGS(fs_info, newref, oldref, tree_size), fs_info 1789 include/trace/events/btrfs.h TP_fast_assign_btrfs(fs_info, fs_info 1814 include/trace/events/btrfs.h TP_PROTO(const struct btrfs_fs_info *fs_info, fs_info 1817 include/trace/events/btrfs.h TP_ARGS(fs_info, oldref, newref, tree_size) fs_info 1821 include/trace/events/btrfs.h TP_PROTO(const struct btrfs_fs_info *fs_info, fs_info 1824 include/trace/events/btrfs.h TP_ARGS(fs_info, oldref, newref, tree_size) fs_info 1838 include/trace/events/btrfs.h TP_fast_assign_btrfs(root->fs_info, fs_info 1861 include/trace/events/btrfs.h TP_fast_assign_btrfs(bg_cache->fs_info, fs_info 1906 include/trace/events/btrfs.h TP_fast_assign_btrfs(tree->fs_info, fs_info 1945 include/trace/events/btrfs.h TP_fast_assign_btrfs(tree->fs_info, fs_info 1985 include/trace/events/btrfs.h TP_fast_assign_btrfs(tree->fs_info, fs_info 2026 include/trace/events/btrfs.h TP_fast_assign_btrfs(eb->fs_info, fs_info 2067 include/trace/events/btrfs.h TP_fast_assign_btrfs(eb->fs_info, fs_info 2097 include/trace/events/btrfs.h TP_PROTO(struct btrfs_fs_info *fs_info, fs_info 2100 include/trace/events/btrfs.h TP_ARGS(fs_info, sinfo, old, diff), fs_info 2108 include/trace/events/btrfs.h TP_fast_assign_btrfs(fs_info, fs_info 2120 include/trace/events/btrfs.h TP_PROTO(struct btrfs_fs_info *fs_info, fs_info 2123 include/trace/events/btrfs.h TP_ARGS(fs_info, sinfo, old, diff) fs_info 2128 include/trace/events/btrfs.h TP_PROTO(struct btrfs_fs_info *fs_info, fs_info 2131 include/trace/events/btrfs.h TP_ARGS(fs_info, sinfo, old, diff) fs_info 3199 mm/shmem.c void *fs_info)