Home
last modified time | relevance | path

Searched refs:block_group (Results 1 – 24 of 24) sorted by relevance

/linux/fs/btrfs/
H A Dfree-space-cache.c133 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 Dblock-group.c26 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 Dzoned.c70 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 Dextent-tree.c2687 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 Ddiscard.h19 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 Dspace-info.c374 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 Drelocation.c148 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 Dfs.h404 struct btrfs_block_group *block_group; member
429 struct btrfs_block_group *block_group; member
H A Dtransaction.c2124 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 Ddisk-io.c749 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 Dsysfs.c703 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 Dvolumes.c3565 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 Dioctl.c2811 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 Dinode.c7373 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 Dballoc.c40 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 Dialloc.c47 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 Dinode.c1318 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 Dbtrfs.h809 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 Dblockgroup_lock.h36 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 Dmdt.h110 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 Dmballoc-test.c291 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 Dmballoc.c3960 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 Dsuper.c3218 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 Dbtrfs_tree.h888 __le64 block_group;
878 __le64 block_group; global() member