| /linux/fs/btrfs/ |
| H A D | free-space-cache.c | 133 struct inode *lookup_free_space_inode(struct btrfs_block_group *block_group, in lookup_free_space_inode() argument 136 struct btrfs_fs_info *fs_info = block_group->fs_info; in lookup_free_space_inode() 140 spin_lock(&block_group->lock); in lookup_free_space_inode() 141 if (block_group->inode) in lookup_free_space_inode() 142 inode = igrab(&block_group->inode->vfs_inode); in lookup_free_space_inode() 143 spin_unlock(&block_group->lock); in lookup_free_space_inode() 148 block_group->start); in lookup_free_space_inode() 152 spin_lock(&block_group->lock); in lookup_free_space_inode() 157 block_group->disk_cache_state = BTRFS_DC_CLEAR; in lookup_free_space_inode() 160 if (!test_and_set_bit(BLOCK_GROUP_FLAG_IREF, &block_group->runtime_flags)) in lookup_free_space_inode() [all …]
|
| H A D | block-group.c | 26 int btrfs_should_fragment_free_space(const struct btrfs_block_group *block_group) in btrfs_should_fragment_free_space() argument 28 struct btrfs_fs_info *fs_info = block_group->fs_info; in btrfs_should_fragment_free_space() 31 block_group->flags & BTRFS_BLOCK_GROUP_METADATA) || in btrfs_should_fragment_free_space() 33 block_group->flags & BTRFS_BLOCK_GROUP_DATA); in btrfs_should_fragment_free_space() 37 static inline bool has_unwritten_metadata(struct btrfs_block_group *block_group) in has_unwritten_metadata() argument 40 if (!btrfs_is_zoned(block_group->fs_info)) in has_unwritten_metadata() 43 if (block_group->flags & BTRFS_BLOCK_GROUP_DATA) in has_unwritten_metadata() 46 return block_group->start + block_group->alloc_offset > in has_unwritten_metadata() 47 block_group->meta_write_pointer; in has_unwritten_metadata() 207 static int btrfs_add_block_group_cache(struct btrfs_block_group *block_group) in btrfs_add_block_group_cache() argument [all …]
|
| H A D | zoned.c | 70 static void wait_eb_writebacks(struct btrfs_block_group *block_group); 71 static int do_zone_finish(struct btrfs_block_group *block_group, bool fully_written); 2162 struct btrfs_block_group *block_group = ctx->zoned_bg; in check_bg_is_active() local 2163 struct btrfs_fs_info *fs_info = block_group->fs_info; in check_bg_is_active() 2165 if (test_bit(BLOCK_GROUP_FLAG_ZONE_IS_ACTIVE, &block_group->runtime_flags)) in check_bg_is_active() 2168 if (fs_info->treelog_bg == block_group->start) { in check_bg_is_active() 2169 if (!btrfs_zone_activate(block_group)) { in check_bg_is_active() 2172 if (ret_fin != 1 || !btrfs_zone_activate(block_group)) in check_bg_is_active() 2175 } else if (*active_bg != block_group) { in check_bg_is_active() 2202 if (!btrfs_zone_activate(block_group)) in check_bg_is_active() [all …]
|
| H A D | extent-tree.c | 2687 struct btrfs_block_group *block_group; in __exclude_logged_extent() local 2689 block_group = btrfs_lookup_block_group(fs_info, start); in __exclude_logged_extent() 2690 if (!block_group) in __exclude_logged_extent() 2693 ret = btrfs_cache_block_group(block_group, true); in __exclude_logged_extent() 2697 ret = btrfs_remove_free_space(block_group, start, num_bytes); in __exclude_logged_extent() 2699 btrfs_put_block_group(block_group); in __exclude_logged_extent() 2921 struct btrfs_block_group *block_group, *tmp; in btrfs_finish_extent_commit() local 2998 list_for_each_entry_safe(block_group, tmp, deleted_bgs, bg_list) { in btrfs_finish_extent_commit() 3001 ret = btrfs_discard_extent(fs_info, block_group->start, in btrfs_finish_extent_commit() 3002 block_group->length, NULL, true); in btrfs_finish_extent_commit() [all …]
|
| H A D | discard.h | 19 void btrfs_discard_check_filter(struct btrfs_block_group *block_group, u64 bytes); 23 struct btrfs_block_group *block_group); 25 struct btrfs_block_group *block_group); 31 void btrfs_discard_update_discardable(struct btrfs_block_group *block_group);
|
| H A D | space-info.c | 374 struct btrfs_block_group *block_group) in btrfs_add_bg_to_space_info() argument 376 struct btrfs_space_info *space_info = block_group->space_info; in btrfs_add_bg_to_space_info() 379 factor = btrfs_bg_type_to_factor(block_group->flags); in btrfs_add_bg_to_space_info() 383 if (!(block_group->flags & BTRFS_BLOCK_GROUP_REMAPPED) || in btrfs_add_bg_to_space_info() 384 block_group->identity_remap_count != 0) { in btrfs_add_bg_to_space_info() 385 space_info->total_bytes += block_group->length; in btrfs_add_bg_to_space_info() 386 space_info->disk_total += block_group->length * factor; in btrfs_add_bg_to_space_info() 389 space_info->bytes_used += block_group->used; in btrfs_add_bg_to_space_info() 390 space_info->disk_used += block_group->used * factor; in btrfs_add_bg_to_space_info() 391 space_info->bytes_readonly += block_group->bytes_super; in btrfs_add_bg_to_space_info() [all …]
|
| H A D | relocation.c | 148 struct btrfs_block_group *block_group; member 189 in_range(node->bytenr, rc->block_group->start, in mark_block_processed() 190 rc->block_group->length)) { in mark_block_processed() 899 if (!in_range(bytenr, rc->block_group->start, in replace_file_extents() 900 rc->block_group->length)) in replace_file_extents() 1164 rc->block_group, parent, slot, in replace_path() 2795 const bool use_rst = btrfs_need_stripe_tree_update(fs_info, rc->block_group->flags); in relocate_one_folio() 3107 btrfs_err(rc->block_group->fs_info, in add_tree_block() 3206 static int delete_block_group_cache(struct btrfs_block_group *block_group, in delete_block_group_cache() argument 3210 struct btrfs_fs_info *fs_info = block_group->fs_info; in delete_block_group_cache() [all …]
|
| H A D | fs.h | 404 struct btrfs_block_group *block_group; member 429 struct btrfs_block_group *block_group; member
|
| H A D | transaction.c | 2124 struct btrfs_block_group *block_group, *tmp; in btrfs_cleanup_pending_block_groups() local 2126 list_for_each_entry_safe(block_group, tmp, &trans->new_bgs, bg_list) { in btrfs_cleanup_pending_block_groups() 2133 list_del_init(&block_group->bg_list); in btrfs_cleanup_pending_block_groups() 2134 btrfs_put_block_group(block_group); in btrfs_cleanup_pending_block_groups()
|
| H A D | disk-io.c | 749 struct btrfs_block_group *block_group; in btrfs_global_root_id() local 756 block_group = btrfs_lookup_block_group(fs_info, bytenr); in btrfs_global_root_id() 758 block_group = btrfs_lookup_first_block_group(fs_info, bytenr); in btrfs_global_root_id() 759 ASSERT(block_group); in btrfs_global_root_id() 760 if (!block_group) in btrfs_global_root_id() 762 ret = block_group->global_root_id; in btrfs_global_root_id() 763 btrfs_put_block_group(block_group); in btrfs_global_root_id()
|
| H A D | sysfs.c | 703 struct btrfs_block_group *block_group; in raid_bytes_show() local 708 list_for_each_entry(block_group, &sinfo->block_groups[index], list) { in raid_bytes_show() 710 val += block_group->length; in raid_bytes_show() 712 val += block_group->used; in raid_bytes_show()
|
| H A D | volumes.c | 3565 struct btrfs_block_group *block_group; in btrfs_relocate_chunk() local 3602 block_group = btrfs_lookup_block_group(fs_info, chunk_offset); in btrfs_relocate_chunk() 3603 if (!block_group) in btrfs_relocate_chunk() 3606 if (should_relocate_using_remap_tree(block_group)) { in btrfs_relocate_chunk() 3608 btrfs_put_block_group(block_group); in btrfs_relocate_chunk() 3611 ret = btrfs_relocate_chunk_finish(fs_info, block_group); in btrfs_relocate_chunk() 5800 struct btrfs_block_group *block_group; in create_chunk() local 5835 block_group = btrfs_make_block_group(trans, ctl->space_info, type, start, in create_chunk() 5837 if (IS_ERR(block_group)) { in create_chunk() 5839 return block_group; in create_chunk() [all …]
|
| H A D | ioctl.c | 2811 struct btrfs_block_group *block_group; in get_block_group_info() local 2816 list_for_each_entry(block_group, groups_list, list) { in get_block_group_info() 2817 space->flags = block_group->flags; in get_block_group_info() 2818 space->total_bytes += block_group->length; in get_block_group_info() 2819 space->used_bytes += block_group->used; in get_block_group_info()
|
| H A D | inode.c | 7373 struct btrfs_block_group *block_group; in btrfs_extent_readonly() local 7376 block_group = btrfs_lookup_block_group(fs_info, bytenr); in btrfs_extent_readonly() 7377 if (!block_group || block_group->ro) in btrfs_extent_readonly() 7379 if (block_group) in btrfs_extent_readonly() 7380 btrfs_put_block_group(block_group); in btrfs_extent_readonly()
|
| /linux/fs/ext2/ |
| H A D | balloc.c | 40 unsigned int block_group, in ext2_get_group_desc() argument 48 if (block_group >= sbi->s_groups_count) { in ext2_get_group_desc() 51 block_group, sbi->s_groups_count); in ext2_get_group_desc() 56 group_desc = block_group >> EXT2_DESC_PER_BLOCK_BITS(sb); in ext2_get_group_desc() 57 offset = block_group & (EXT2_DESC_PER_BLOCK(sb) - 1); in ext2_get_group_desc() 61 block_group, group_desc, offset); in ext2_get_group_desc() 73 unsigned int block_group, in ext2_valid_block_bitmap() argument 82 group_first_block = ext2_group_first_block_no(sb, block_group); in ext2_valid_block_bitmap() 83 max_bit = ext2_group_last_block_no(sb, block_group) - group_first_block; in ext2_valid_block_bitmap() 118 block_group, bitmap_blk); in ext2_valid_block_bitmap() [all …]
|
| H A D | ialloc.c | 47 read_inode_bitmap(struct super_block * sb, unsigned long block_group) in read_inode_bitmap() argument 52 desc = ext2_get_group_desc(sb, block_group, NULL); in read_inode_bitmap() 61 block_group, le32_to_cpu(desc->bg_inode_bitmap)); in read_inode_bitmap() 111 unsigned long block_group; in ext2_free_inode() local 135 block_group = (ino - 1) / EXT2_INODES_PER_GROUP(sb); in ext2_free_inode() 137 bitmap_bh = read_inode_bitmap(sb, block_group); in ext2_free_inode() 142 if (!ext2_clear_bit_atomic(sb_bgl_lock(EXT2_SB(sb), block_group), in ext2_free_inode() 147 ext2_release_inode(sb, block_group, is_directory); in ext2_free_inode() 169 unsigned long block_group; in ext2_preread_inode() local 174 block_group = (inode->i_ino - 1) / EXT2_INODES_PER_GROUP(inode->i_sb); in ext2_preread_inode() [all …]
|
| H A D | inode.c | 1318 unsigned long block_group; in ext2_get_inode() local 1328 block_group = (ino - 1) / EXT2_INODES_PER_GROUP(sb); in ext2_get_inode() 1329 gdp = ext2_get_group_desc(sb, block_group, NULL); in ext2_get_inode()
|
| /linux/include/trace/events/ |
| H A D | btrfs.h | 809 const struct btrfs_block_group *block_group, int create), 811 TP_ARGS(fs_info, block_group, create), 823 __entry->offset = block_group->start; 824 __entry->size = block_group->length; 825 __entry->flags = block_group->flags; 826 __entry->bytes_used = block_group->used; 827 __entry->bytes_super = block_group->bytes_super; 1300 const struct btrfs_block_group *block_group), 1302 TP_ARGS(root, ffe_ctl, block_group), 1322 __entry->bg_start = block_group->start; [all …]
|
| /linux/include/linux/ |
| H A D | blockgroup_lock.h | 36 bgl_lock_ptr(struct blockgroup_lock *bgl, unsigned int block_group) in bgl_lock_ptr() argument 38 return &bgl->locks[block_group & (NR_BG_LOCKS-1)].lock; in bgl_lock_ptr()
|
| /linux/fs/nilfs2/ |
| H A D | mdt.h | 110 nilfs_mdt_bgl_lock(struct inode *inode, unsigned int block_group) in nilfs_mdt_bgl_lock() argument 112 return bgl_lock_ptr(NILFS_MDT(inode)->mi_bgl, block_group); in nilfs_mdt_bgl_lock()
|
| /linux/fs/ext4/ |
| H A D | mballoc-test.c | 291 ext4_read_block_bitmap_nowait_stub(struct super_block *sb, ext4_group_t block_group, in ext4_read_block_bitmap_nowait_stub() argument 294 struct mbt_grp_ctx *grp_ctx = MBT_GRP_CTX(sb, block_group); in ext4_read_block_bitmap_nowait_stub() 302 ext4_group_t block_group, in ext4_wait_block_bitmap_stub() argument 316 ext4_get_group_desc_stub(struct super_block *sb, ext4_group_t block_group, in ext4_get_group_desc_stub() argument 319 struct mbt_grp_ctx *grp_ctx = MBT_GRP_CTX(sb, block_group); in ext4_get_group_desc_stub()
|
| H A D | mballoc.c | 3960 ext4_group_t block_group, ext4_grpblk_t cluster, int count) in ext4_issue_discard() argument 3965 ext4_group_first_block_no(sb, block_group)); in ext4_issue_discard() 6544 ext4_group_t block_group; in ext4_mb_clear_bb() local 6565 ext4_get_group_no_and_offset(sb, block, &block_group, &bit); in ext4_mb_clear_bb() 6567 grp = ext4_get_group_info(sb, block_group); in ext4_mb_clear_bb() 6583 trace_ext4_mballoc_free(sb, inode, block_group, bit, count_clusters); in ext4_mb_clear_bb() 6586 err = ext4_mb_load_buddy_gfp(sb, block_group, &e4b, in ext4_mb_clear_bb() 6602 err = ext4_mb_mark_context(handle, sb, false, block_group, bit, in ext4_mb_clear_bb() 6630 new_entry->efd_group = block_group; in ext4_mb_clear_bb() 6634 ext4_lock_group(sb, block_group); in ext4_mb_clear_bb() [all …]
|
| H A D | super.c | 3218 static __le16 ext4_group_desc_csum(struct super_block *sb, __u32 block_group, in ext4_group_desc_csum() argument 3223 __le32 le_group = cpu_to_le32(block_group); in ext4_group_desc_csum() 3262 int ext4_group_desc_csum_verify(struct super_block *sb, __u32 block_group, in ext4_group_desc_csum_verify() argument 3266 (gdp->bg_checksum != ext4_group_desc_csum(sb, block_group, gdp))) in ext4_group_desc_csum_verify() 3272 void ext4_group_desc_csum_set(struct super_block *sb, __u32 block_group, in ext4_group_desc_csum_set() argument 3277 gdp->bg_checksum = ext4_group_desc_csum(sb, block_group, gdp); in ext4_group_desc_csum_set()
|
| /linux/include/uapi/linux/ |
| H A D | btrfs_tree.h | 888 __le64 block_group; 878 __le64 block_group; global() member
|