Searched refs:block_group (Results 1 - 21 of 21) sorted by relevance

/linux-4.4.14/fs/btrfs/
H A Dfree-space-cache.h56 *block_group, struct btrfs_path *path);
59 struct btrfs_block_group_cache *block_group,
66 struct btrfs_block_group_cache *block_group,
69 struct btrfs_block_group_cache *block_group);
72 struct btrfs_block_group_cache *block_group,
77 struct btrfs_block_group_cache *block_group,
91 void btrfs_init_free_space_ctl(struct btrfs_block_group_cache *block_group);
95 btrfs_add_free_space(struct btrfs_block_group_cache *block_group, btrfs_add_free_space() argument
98 return __btrfs_add_free_space(block_group->free_space_ctl, btrfs_add_free_space()
101 int btrfs_remove_free_space(struct btrfs_block_group_cache *block_group,
105 *block_group);
106 u64 btrfs_find_space_for_alloc(struct btrfs_block_group_cache *block_group,
110 void btrfs_dump_free_space(struct btrfs_block_group_cache *block_group,
113 struct btrfs_block_group_cache *block_group,
117 u64 btrfs_alloc_from_cluster(struct btrfs_block_group_cache *block_group,
121 struct btrfs_block_group_cache *block_group,
123 int btrfs_trim_block_group(struct btrfs_block_group_cache *block_group,
H A Dfree-space-cache.c96 *block_group, struct btrfs_path *path) lookup_free_space_inode()
101 spin_lock(&block_group->lock); lookup_free_space_inode()
102 if (block_group->inode) lookup_free_space_inode()
103 inode = igrab(block_group->inode); lookup_free_space_inode()
104 spin_unlock(&block_group->lock); lookup_free_space_inode()
109 block_group->key.objectid); lookup_free_space_inode()
113 spin_lock(&block_group->lock); lookup_free_space_inode()
119 block_group->disk_cache_state = BTRFS_DC_CLEAR; lookup_free_space_inode()
122 if (!block_group->iref) { lookup_free_space_inode()
123 block_group->inode = igrab(inode); lookup_free_space_inode()
124 block_group->iref = 1; lookup_free_space_inode()
126 spin_unlock(&block_group->lock); lookup_free_space_inode()
194 struct btrfs_block_group_cache *block_group, create_free_space_inode()
205 block_group->key.objectid); create_free_space_inode()
229 struct btrfs_block_group_cache *block_group, btrfs_truncate_free_space_cache()
241 if (block_group) { btrfs_truncate_free_space_cache()
244 if (!list_empty(&block_group->io_list)) { btrfs_truncate_free_space_cache()
245 list_del_init(&block_group->io_list); btrfs_truncate_free_space_cache()
247 btrfs_wait_cache_io(root, trans, block_group, btrfs_truncate_free_space_cache()
248 &block_group->io_ctl, path, btrfs_truncate_free_space_cache()
249 block_group->key.objectid); btrfs_truncate_free_space_cache()
250 btrfs_put_block_group(block_group); btrfs_truncate_free_space_cache()
257 spin_lock(&block_group->lock); btrfs_truncate_free_space_cache()
258 block_group->disk_cache_state = BTRFS_DC_CLEAR; btrfs_truncate_free_space_cache()
259 spin_unlock(&block_group->lock); btrfs_truncate_free_space_cache()
827 struct btrfs_block_group_cache *block_group) load_free_space_cache()
829 struct btrfs_free_space_ctl *ctl = block_group->free_space_ctl; load_free_space_cache()
835 u64 used = btrfs_block_group_used(&block_group->item); load_free_space_cache()
841 spin_lock(&block_group->lock); load_free_space_cache()
842 if (block_group->disk_cache_state != BTRFS_DC_WRITTEN) { load_free_space_cache()
843 spin_unlock(&block_group->lock); load_free_space_cache()
846 spin_unlock(&block_group->lock); load_free_space_cache()
854 inode = lookup_free_space_inode(root, block_group, path); load_free_space_cache()
861 spin_lock(&block_group->lock); load_free_space_cache()
862 if (block_group->disk_cache_state != BTRFS_DC_WRITTEN) { load_free_space_cache()
863 spin_unlock(&block_group->lock); load_free_space_cache()
867 spin_unlock(&block_group->lock); load_free_space_cache()
870 path, block_group->key.objectid); load_free_space_cache()
876 matched = (ctl->free_space == (block_group->key.offset - used - load_free_space_cache()
877 block_group->bytes_super)); load_free_space_cache()
883 block_group->key.objectid); load_free_space_cache()
889 spin_lock(&block_group->lock); load_free_space_cache()
890 block_group->disk_cache_state = BTRFS_DC_CLEAR; load_free_space_cache()
891 spin_unlock(&block_group->lock); load_free_space_cache()
895 block_group->key.objectid); load_free_space_cache()
905 struct btrfs_block_group_cache *block_group, write_cache_extent_entries()
915 /* Get the cluster for this block_group if it exists */ write_cache_extent_entries()
916 if (block_group && !list_empty(&block_group->cluster_list)) { write_cache_extent_entries()
917 cluster = list_entry(block_group->cluster_list.next, write_cache_extent_entries()
1036 struct btrfs_block_group_cache *block_group, write_pinned_extent_entries()
1044 if (!block_group) write_pinned_extent_entries()
1056 start = block_group->key.objectid; write_pinned_extent_entries()
1058 while (start < block_group->key.objectid + block_group->key.offset) { write_pinned_extent_entries()
1066 if (extent_start >= block_group->key.objectid + write_pinned_extent_entries()
1067 block_group->key.offset) write_pinned_extent_entries()
1071 extent_end = min(block_group->key.objectid + write_pinned_extent_entries()
1072 block_group->key.offset, extent_end + 1); write_pinned_extent_entries()
1145 struct btrfs_block_group_cache *block_group, btrfs_wait_cache_io()
1155 if (block_group) btrfs_wait_cache_io()
1171 if (block_group) { btrfs_wait_cache_io()
1175 block_group->key.objectid); btrfs_wait_cache_io()
1181 if (block_group) { btrfs_wait_cache_io()
1186 spin_lock(&block_group->lock); btrfs_wait_cache_io()
1193 if (!ret && list_empty(&block_group->dirty_list)) btrfs_wait_cache_io()
1194 block_group->disk_cache_state = BTRFS_DC_WRITTEN; btrfs_wait_cache_io()
1196 block_group->disk_cache_state = BTRFS_DC_ERROR; btrfs_wait_cache_io()
1198 spin_unlock(&block_group->lock); btrfs_wait_cache_io()
1212 * @block_group - the block_group for this cache if it belongs to a block_group
1223 struct btrfs_block_group_cache *block_group, __btrfs_write_out_cache()
1243 if (block_group && (block_group->flags & BTRFS_BLOCK_GROUP_DATA)) { __btrfs_write_out_cache()
1244 down_write(&block_group->data_rwsem); __btrfs_write_out_cache()
1245 spin_lock(&block_group->lock); __btrfs_write_out_cache()
1246 if (block_group->delalloc_bytes) { __btrfs_write_out_cache()
1247 block_group->disk_cache_state = BTRFS_DC_WRITTEN; __btrfs_write_out_cache()
1248 spin_unlock(&block_group->lock); __btrfs_write_out_cache()
1249 up_write(&block_group->data_rwsem); __btrfs_write_out_cache()
1255 spin_unlock(&block_group->lock); __btrfs_write_out_cache()
1272 block_group, &entries, &bitmaps, __btrfs_write_out_cache()
1285 ret = write_pinned_extent_entries(root, block_group, io_ctl, &entries); __btrfs_write_out_cache()
1309 if (block_group && (block_group->flags & BTRFS_BLOCK_GROUP_DATA)) __btrfs_write_out_cache()
1310 up_write(&block_group->data_rwsem); __btrfs_write_out_cache()
1354 if (block_group && (block_group->flags & BTRFS_BLOCK_GROUP_DATA)) __btrfs_write_out_cache()
1355 up_write(&block_group->data_rwsem); __btrfs_write_out_cache()
1362 struct btrfs_block_group_cache *block_group, btrfs_write_out_cache()
1365 struct btrfs_free_space_ctl *ctl = block_group->free_space_ctl; btrfs_write_out_cache()
1371 spin_lock(&block_group->lock); btrfs_write_out_cache()
1372 if (block_group->disk_cache_state < BTRFS_DC_SETUP) { btrfs_write_out_cache()
1373 spin_unlock(&block_group->lock); btrfs_write_out_cache()
1376 spin_unlock(&block_group->lock); btrfs_write_out_cache()
1378 inode = lookup_free_space_inode(root, block_group, path); btrfs_write_out_cache()
1382 ret = __btrfs_write_out_cache(root, inode, ctl, block_group, btrfs_write_out_cache()
1383 &block_group->io_ctl, trans, btrfs_write_out_cache()
1384 path, block_group->key.objectid); btrfs_write_out_cache()
1389 block_group->key.objectid); btrfs_write_out_cache()
1391 spin_lock(&block_group->lock); btrfs_write_out_cache()
1392 block_group->disk_cache_state = BTRFS_DC_ERROR; btrfs_write_out_cache()
1393 spin_unlock(&block_group->lock); btrfs_write_out_cache()
1395 block_group->io_ctl.inode = NULL; btrfs_write_out_cache()
1642 struct btrfs_block_group_cache *block_group = ctl->private; recalculate_thresholds() local
1646 u64 size = block_group->key.offset; recalculate_thresholds()
1976 struct btrfs_block_group_cache *block_group = ctl->private; use_bitmap() local
1980 if (btrfs_should_fragment_free_space(block_group->fs_info->extent_root, use_bitmap()
1981 block_group)) use_bitmap()
1997 if (info->bytes <= block_group->sectorsize * 4) { use_bitmap()
2013 if (((BITS_PER_BITMAP * ctl->unit) >> 1) > block_group->key.offset) use_bitmap()
2028 struct btrfs_block_group_cache *block_group = NULL; insert_into_bitmap() local
2040 block_group = ctl->private; insert_into_bitmap()
2047 if (block_group && !list_empty(&block_group->cluster_list)) { insert_into_bitmap()
2052 cluster = list_entry(block_group->cluster_list.next, insert_into_bitmap()
2362 int btrfs_remove_free_space(struct btrfs_block_group_cache *block_group, btrfs_remove_free_space() argument
2365 struct btrfs_free_space_ctl *ctl = block_group->free_space_ctl; btrfs_remove_free_space()
2434 ret = btrfs_add_free_space(block_group, offset + bytes, btrfs_remove_free_space()
2452 void btrfs_dump_free_space(struct btrfs_block_group_cache *block_group, btrfs_dump_free_space() argument
2455 struct btrfs_free_space_ctl *ctl = block_group->free_space_ctl; btrfs_dump_free_space()
2462 if (info->bytes >= bytes && !block_group->ro) btrfs_dump_free_space()
2464 btrfs_crit(block_group->fs_info, btrfs_dump_free_space()
2469 btrfs_info(block_group->fs_info, "block group has cluster?: %s", btrfs_dump_free_space()
2470 list_empty(&block_group->cluster_list) ? "no" : "yes"); btrfs_dump_free_space()
2471 btrfs_info(block_group->fs_info, btrfs_dump_free_space()
2475 void btrfs_init_free_space_ctl(struct btrfs_block_group_cache *block_group) btrfs_init_free_space_ctl() argument
2477 struct btrfs_free_space_ctl *ctl = block_group->free_space_ctl; btrfs_init_free_space_ctl()
2480 ctl->unit = block_group->sectorsize; btrfs_init_free_space_ctl()
2481 ctl->start = block_group->key.objectid; btrfs_init_free_space_ctl()
2482 ctl->private = block_group; btrfs_init_free_space_ctl()
2504 struct btrfs_block_group_cache *block_group, __btrfs_return_cluster_to_free_space()
2507 struct btrfs_free_space_ctl *ctl = block_group->free_space_ctl; __btrfs_return_cluster_to_free_space()
2512 if (cluster->block_group != block_group) __btrfs_return_cluster_to_free_space()
2515 cluster->block_group = NULL; __btrfs_return_cluster_to_free_space()
2540 btrfs_put_block_group(block_group); __btrfs_return_cluster_to_free_space()
2570 void btrfs_remove_free_space_cache(struct btrfs_block_group_cache *block_group) btrfs_remove_free_space_cache() argument
2572 struct btrfs_free_space_ctl *ctl = block_group->free_space_ctl; btrfs_remove_free_space_cache()
2577 while ((head = block_group->cluster_list.next) != btrfs_remove_free_space_cache()
2578 &block_group->cluster_list) { btrfs_remove_free_space_cache()
2582 WARN_ON(cluster->block_group != block_group); btrfs_remove_free_space_cache()
2583 __btrfs_return_cluster_to_free_space(block_group, cluster); btrfs_remove_free_space_cache()
2592 u64 btrfs_find_space_for_alloc(struct btrfs_block_group_cache *block_group, btrfs_find_space_for_alloc() argument
2596 struct btrfs_free_space_ctl *ctl = block_group->free_space_ctl; btrfs_find_space_for_alloc()
2605 block_group->full_stripe_len, max_extent_size); btrfs_find_space_for_alloc()
2645 struct btrfs_block_group_cache *block_group, btrfs_return_cluster_to_free_space()
2653 if (!block_group) { btrfs_return_cluster_to_free_space()
2654 block_group = cluster->block_group; btrfs_return_cluster_to_free_space()
2655 if (!block_group) { btrfs_return_cluster_to_free_space()
2659 } else if (cluster->block_group != block_group) { btrfs_return_cluster_to_free_space()
2664 atomic_inc(&block_group->count); btrfs_return_cluster_to_free_space()
2667 ctl = block_group->free_space_ctl; btrfs_return_cluster_to_free_space()
2671 ret = __btrfs_return_cluster_to_free_space(block_group, cluster); btrfs_return_cluster_to_free_space()
2675 btrfs_put_block_group(block_group); btrfs_return_cluster_to_free_space()
2679 static u64 btrfs_alloc_from_bitmap(struct btrfs_block_group_cache *block_group, btrfs_alloc_from_bitmap() argument
2685 struct btrfs_free_space_ctl *ctl = block_group->free_space_ctl; btrfs_alloc_from_bitmap()
2712 u64 btrfs_alloc_from_cluster(struct btrfs_block_group_cache *block_group, btrfs_alloc_from_cluster() argument
2716 struct btrfs_free_space_ctl *ctl = block_group->free_space_ctl; btrfs_alloc_from_cluster()
2725 if (cluster->block_group != block_group) btrfs_alloc_from_cluster()
2748 ret = btrfs_alloc_from_bitmap(block_group, btrfs_alloc_from_cluster()
2796 static int btrfs_bitmap_cluster(struct btrfs_block_group_cache *block_group, btrfs_bitmap_cluster() argument
2802 struct btrfs_free_space_ctl *ctl = block_group->free_space_ctl; btrfs_bitmap_cluster()
2867 trace_btrfs_setup_cluster(block_group, cluster, btrfs_bitmap_cluster()
2878 setup_cluster_no_bitmap(struct btrfs_block_group_cache *block_group, setup_cluster_no_bitmap() argument
2883 struct btrfs_free_space_ctl *ctl = block_group->free_space_ctl; setup_cluster_no_bitmap()
2960 trace_btrfs_setup_cluster(block_group, cluster, total_size, 0); setup_cluster_no_bitmap()
2969 setup_cluster_bitmap(struct btrfs_block_group_cache *block_group, setup_cluster_bitmap() argument
2974 struct btrfs_free_space_ctl *ctl = block_group->free_space_ctl; setup_cluster_bitmap()
2998 ret = btrfs_bitmap_cluster(block_group, entry, cluster, offset, list_for_each_entry()
3020 struct btrfs_block_group_cache *block_group, btrfs_find_space_cluster()
3024 struct btrfs_free_space_ctl *ctl = block_group->free_space_ctl; btrfs_find_space_cluster()
3039 } else if (block_group->flags & BTRFS_BLOCK_GROUP_METADATA) { btrfs_find_space_cluster()
3041 min_bytes = block_group->sectorsize; btrfs_find_space_cluster()
3044 min_bytes = block_group->sectorsize; btrfs_find_space_cluster()
3061 if (cluster->block_group) { btrfs_find_space_cluster()
3066 trace_btrfs_find_cluster(block_group, offset, bytes, empty_size, btrfs_find_space_cluster()
3069 ret = setup_cluster_no_bitmap(block_group, cluster, &bitmaps, offset, btrfs_find_space_cluster()
3073 ret = setup_cluster_bitmap(block_group, cluster, &bitmaps, btrfs_find_space_cluster()
3082 atomic_inc(&block_group->count); btrfs_find_space_cluster()
3084 &block_group->cluster_list); btrfs_find_space_cluster()
3085 cluster->block_group = block_group; btrfs_find_space_cluster()
3087 trace_btrfs_failed_cluster_setup(block_group); btrfs_find_space_cluster()
3107 cluster->block_group = NULL; btrfs_init_free_cluster()
3110 static int do_trimming(struct btrfs_block_group_cache *block_group, do_trimming() argument
3115 struct btrfs_space_info *space_info = block_group->space_info; do_trimming()
3116 struct btrfs_fs_info *fs_info = block_group->fs_info; do_trimming()
3117 struct btrfs_free_space_ctl *ctl = block_group->free_space_ctl; do_trimming()
3123 spin_lock(&block_group->lock); do_trimming()
3124 if (!block_group->ro) { do_trimming()
3125 block_group->reserved += reserved_bytes; do_trimming()
3129 spin_unlock(&block_group->lock); do_trimming()
3138 btrfs_add_free_space(block_group, reserved_start, reserved_bytes); do_trimming()
3144 spin_lock(&block_group->lock); do_trimming()
3145 if (block_group->ro) do_trimming()
3147 block_group->reserved -= reserved_bytes; do_trimming()
3150 spin_unlock(&block_group->lock); do_trimming()
3156 static int trim_no_bitmap(struct btrfs_block_group_cache *block_group, trim_no_bitmap() argument
3159 struct btrfs_free_space_ctl *ctl = block_group->free_space_ctl; trim_no_bitmap()
3223 ret = do_trimming(block_group, total_trimmed, start, bytes, trim_no_bitmap()
3241 static int trim_bitmaps(struct btrfs_block_group_cache *block_group, trim_bitmaps() argument
3244 struct btrfs_free_space_ctl *ctl = block_group->free_space_ctl; trim_bitmaps()
3298 ret = do_trimming(block_group, total_trimmed, start, bytes, trim_bitmaps()
3327 void btrfs_put_block_group_trimming(struct btrfs_block_group_cache *block_group) btrfs_put_block_group_trimming() argument
3333 spin_lock(&block_group->lock); btrfs_put_block_group_trimming()
3334 cleanup = (atomic_dec_and_test(&block_group->trimming) && btrfs_put_block_group_trimming()
3335 block_group->removed); btrfs_put_block_group_trimming()
3336 spin_unlock(&block_group->lock); btrfs_put_block_group_trimming()
3339 lock_chunks(block_group->fs_info->chunk_root); btrfs_put_block_group_trimming()
3340 em_tree = &block_group->fs_info->mapping_tree.map_tree; btrfs_put_block_group_trimming()
3342 em = lookup_extent_mapping(em_tree, block_group->key.objectid, btrfs_put_block_group_trimming()
3351 unlock_chunks(block_group->fs_info->chunk_root); btrfs_put_block_group_trimming()
3361 __btrfs_remove_free_space_cache(block_group->free_space_ctl); btrfs_put_block_group_trimming()
3365 int btrfs_trim_block_group(struct btrfs_block_group_cache *block_group, btrfs_trim_block_group() argument
3372 spin_lock(&block_group->lock); btrfs_trim_block_group()
3373 if (block_group->removed) { btrfs_trim_block_group()
3374 spin_unlock(&block_group->lock); btrfs_trim_block_group()
3377 btrfs_get_block_group_trimming(block_group); btrfs_trim_block_group()
3378 spin_unlock(&block_group->lock); btrfs_trim_block_group()
3380 ret = trim_no_bitmap(block_group, trimmed, start, end, minlen); btrfs_trim_block_group()
3384 ret = trim_bitmaps(block_group, trimmed, start, end, minlen); btrfs_trim_block_group()
3386 btrfs_put_block_group_trimming(block_group); btrfs_trim_block_group()
94 lookup_free_space_inode(struct btrfs_root *root, struct btrfs_block_group_cache *block_group, struct btrfs_path *path) lookup_free_space_inode() argument
192 create_free_space_inode(struct btrfs_root *root, struct btrfs_trans_handle *trans, struct btrfs_block_group_cache *block_group, struct btrfs_path *path) create_free_space_inode() argument
227 btrfs_truncate_free_space_cache(struct btrfs_root *root, struct btrfs_trans_handle *trans, struct btrfs_block_group_cache *block_group, struct inode *inode) btrfs_truncate_free_space_cache() argument
826 load_free_space_cache(struct btrfs_fs_info *fs_info, struct btrfs_block_group_cache *block_group) load_free_space_cache() argument
903 write_cache_extent_entries(struct btrfs_io_ctl *io_ctl, struct btrfs_free_space_ctl *ctl, struct btrfs_block_group_cache *block_group, int *entries, int *bitmaps, struct list_head *bitmap_list) write_cache_extent_entries() argument
1035 write_pinned_extent_entries(struct btrfs_root *root, struct btrfs_block_group_cache *block_group, struct btrfs_io_ctl *io_ctl, int *entries) write_pinned_extent_entries() argument
1143 btrfs_wait_cache_io(struct btrfs_root *root, struct btrfs_trans_handle *trans, struct btrfs_block_group_cache *block_group, struct btrfs_io_ctl *io_ctl, struct btrfs_path *path, u64 offset) btrfs_wait_cache_io() argument
1221 __btrfs_write_out_cache(struct btrfs_root *root, struct inode *inode, struct btrfs_free_space_ctl *ctl, struct btrfs_block_group_cache *block_group, struct btrfs_io_ctl *io_ctl, struct btrfs_trans_handle *trans, struct btrfs_path *path, u64 offset) __btrfs_write_out_cache() argument
1360 btrfs_write_out_cache(struct btrfs_root *root, struct btrfs_trans_handle *trans, struct btrfs_block_group_cache *block_group, struct btrfs_path *path) btrfs_write_out_cache() argument
2503 __btrfs_return_cluster_to_free_space( struct btrfs_block_group_cache *block_group, struct btrfs_free_cluster *cluster) __btrfs_return_cluster_to_free_space() argument
2644 btrfs_return_cluster_to_free_space( struct btrfs_block_group_cache *block_group, struct btrfs_free_cluster *cluster) btrfs_return_cluster_to_free_space() argument
3019 btrfs_find_space_cluster(struct btrfs_root *root, struct btrfs_block_group_cache *block_group, struct btrfs_free_cluster *cluster, u64 offset, u64 bytes, u64 empty_size) btrfs_find_space_cluster() argument
H A Dextent-tree.c147 struct btrfs_block_group_cache *block_group) btrfs_add_block_group_cache()
160 if (block_group->key.objectid < cache->key.objectid) { btrfs_add_block_group_cache()
162 } else if (block_group->key.objectid > cache->key.objectid) { btrfs_add_block_group_cache()
170 rb_link_node(&block_group->cache_node, parent, p); btrfs_add_block_group_cache()
171 rb_insert_color(&block_group->cache_node, btrfs_add_block_group_cache()
174 if (info->first_logical_byte > block_group->key.objectid) btrfs_add_block_group_cache()
175 info->first_logical_byte = block_group->key.objectid; btrfs_add_block_group_cache()
336 struct btrfs_block_group_cache *block_group) fragment_free_space()
338 u64 start = block_group->key.objectid; fragment_free_space()
339 u64 len = block_group->key.offset; fragment_free_space()
340 u64 chunk = block_group->flags & BTRFS_BLOCK_GROUP_METADATA ? fragment_free_space()
345 btrfs_remove_free_space(block_group, start, chunk); fragment_free_space()
360 static u64 add_new_free_space(struct btrfs_block_group_cache *block_group, add_new_free_space() argument
379 ret = btrfs_add_free_space(block_group, start, add_new_free_space()
391 ret = btrfs_add_free_space(block_group, start, size); add_new_free_space()
400 struct btrfs_block_group_cache *block_group; caching_thread() local
414 block_group = caching_ctl->block_group; caching_thread()
415 fs_info = block_group->fs_info; caching_thread()
422 last = max_t(u64, block_group->key.objectid, BTRFS_SUPER_INFO_OFFSET); caching_thread()
430 if (btrfs_should_fragment_free_space(extent_root, block_group)) caching_thread()
504 if (key.objectid < block_group->key.objectid) { caching_thread()
509 if (key.objectid >= block_group->key.objectid + caching_thread()
510 block_group->key.offset) caching_thread()
515 total_found += add_new_free_space(block_group, caching_thread()
534 total_found += add_new_free_space(block_group, fs_info, last, caching_thread()
535 block_group->key.objectid + caching_thread()
536 block_group->key.offset); caching_thread()
537 spin_lock(&block_group->lock); caching_thread()
538 block_group->caching_ctl = NULL; caching_thread()
539 block_group->cached = BTRFS_CACHE_FINISHED; caching_thread()
540 spin_unlock(&block_group->lock); caching_thread()
543 if (btrfs_should_fragment_free_space(extent_root, block_group)) { caching_thread()
546 spin_lock(&block_group->space_info->lock); caching_thread()
547 spin_lock(&block_group->lock); caching_thread()
548 bytes_used = block_group->key.offset - caching_thread()
549 btrfs_block_group_used(&block_group->item); caching_thread()
550 block_group->space_info->bytes_used += bytes_used >> 1; caching_thread()
551 spin_unlock(&block_group->lock); caching_thread()
552 spin_unlock(&block_group->space_info->lock); caching_thread()
553 fragment_free_space(extent_root, block_group); caching_thread()
562 free_excluded_extents(extent_root, block_group); caching_thread()
567 spin_lock(&block_group->lock); caching_thread()
568 block_group->caching_ctl = NULL; caching_thread()
569 block_group->cached = BTRFS_CACHE_ERROR; caching_thread()
570 spin_unlock(&block_group->lock); caching_thread()
575 btrfs_put_block_group(block_group); caching_thread()
593 caching_ctl->block_group = cache; cache_block_group()
3315 static int cache_save_setup(struct btrfs_block_group_cache *block_group, cache_save_setup() argument
3319 struct btrfs_root *root = block_group->fs_info->tree_root; cache_save_setup()
3331 if (block_group->key.offset < (100 * 1024 * 1024)) { cache_save_setup()
3332 spin_lock(&block_group->lock); cache_save_setup()
3333 block_group->disk_cache_state = BTRFS_DC_WRITTEN; cache_save_setup()
3334 spin_unlock(&block_group->lock); cache_save_setup()
3341 inode = lookup_free_space_inode(root, block_group, path); cache_save_setup()
3352 if (block_group->ro) cache_save_setup()
3355 ret = create_free_space_inode(root, trans, block_group, path); cache_save_setup()
3362 if (block_group->cache_generation == trans->transid && cache_save_setup()
3402 spin_lock(&block_group->lock); cache_save_setup()
3403 if (block_group->cached != BTRFS_CACHE_FINISHED || cache_save_setup()
3411 spin_unlock(&block_group->lock); cache_save_setup()
3414 spin_unlock(&block_group->lock); cache_save_setup()
3431 num_pages = div_u64(block_group->key.offset, 256 * 1024 * 1024); cache_save_setup()
3464 spin_lock(&block_group->lock); cache_save_setup()
3466 block_group->cache_generation = trans->transid; cache_save_setup()
3467 block_group->disk_cache_state = dcs; cache_save_setup()
3468 spin_unlock(&block_group->lock); cache_save_setup()
3763 struct btrfs_block_group_cache *block_group; btrfs_extent_readonly() local
3766 block_group = btrfs_lookup_block_group(root->fs_info, bytenr); btrfs_extent_readonly()
3767 if (!block_group || block_group->ro) btrfs_extent_readonly()
3769 if (block_group) btrfs_extent_readonly()
3770 btrfs_put_block_group(block_group); btrfs_extent_readonly()
6048 struct btrfs_block_group_cache *block_group; __exclude_logged_extent() local
6051 block_group = btrfs_lookup_block_group(root->fs_info, start); __exclude_logged_extent()
6052 if (!block_group) __exclude_logged_extent()
6055 cache_block_group(block_group, 0); __exclude_logged_extent()
6056 caching_ctl = get_caching_control(block_group); __exclude_logged_extent()
6060 BUG_ON(!block_group_cache_done(block_group)); __exclude_logged_extent()
6061 ret = btrfs_remove_free_space(block_group, start, num_bytes); __exclude_logged_extent()
6068 ret = btrfs_remove_free_space(block_group, __exclude_logged_extent()
6072 ret = btrfs_remove_free_space(block_group, __exclude_logged_extent()
6086 btrfs_put_block_group(block_group); __exclude_logged_extent()
6120 * btrfs_update_reserved_bytes - update the block_group and space info counters
6192 cache = caching_ctl->block_group; btrfs_prepare_extent_commit()
6330 struct btrfs_block_group_cache *block_group, *tmp; btrfs_finish_extent_commit() local
6367 list_for_each_entry_safe(block_group, tmp, deleted_bgs, bg_list) { list_for_each_entry_safe()
6373 block_group->key.objectid, list_for_each_entry_safe()
6374 block_group->key.offset, list_for_each_entry_safe()
6377 list_del_init(&block_group->bg_list); list_for_each_entry_safe()
6378 btrfs_put_block_group_trimming(block_group); list_for_each_entry_safe()
6379 btrfs_put_block_group(block_group); list_for_each_entry_safe()
6960 btrfs_lock_cluster(struct btrfs_block_group_cache *block_group, btrfs_lock_cluster() argument
6969 if (used_bg == cluster->block_group) btrfs_lock_cluster()
6976 used_bg = cluster->block_group; btrfs_lock_cluster()
6980 if (used_bg == block_group) btrfs_lock_cluster()
7025 struct btrfs_block_group_cache *block_group = NULL; find_free_extent() local
7080 if (last_ptr->block_group) find_free_extent()
7097 block_group = btrfs_lookup_block_group(root->fs_info, find_free_extent()
7106 if (block_group && block_group_bits(block_group, flags) && find_free_extent()
7107 block_group->cached != BTRFS_CACHE_NO) { find_free_extent()
7109 if (list_empty(&block_group->list) || find_free_extent()
7110 block_group->ro) { find_free_extent()
7117 btrfs_put_block_group(block_group); find_free_extent()
7120 index = get_block_group_index(block_group); find_free_extent()
7121 btrfs_lock_block_group(block_group, delalloc); find_free_extent()
7124 } else if (block_group) { find_free_extent()
7125 btrfs_put_block_group(block_group); find_free_extent()
7133 list_for_each_entry(block_group, &space_info->block_groups[index], find_free_extent()
7138 btrfs_grab_block_group(block_group, delalloc); find_free_extent()
7139 search_start = block_group->key.objectid; find_free_extent()
7146 if (!block_group_bits(block_group, flags)) { find_free_extent()
7158 if ((flags & extra) && !(block_group->flags & extra)) find_free_extent()
7163 cached = block_group_cache_done(block_group); find_free_extent()
7166 ret = cache_block_group(block_group, 0); find_free_extent()
7171 if (unlikely(block_group->cached == BTRFS_CACHE_ERROR)) find_free_extent()
7173 if (unlikely(block_group->ro)) find_free_extent()
7187 used_block_group = btrfs_lock_cluster(block_group, find_free_extent()
7193 if (used_block_group != block_group && find_free_extent()
7209 if (used_block_group != block_group) { find_free_extent()
7210 btrfs_release_block_group(block_group, find_free_extent()
7212 block_group = used_block_group; find_free_extent()
7217 WARN_ON(last_ptr->block_group != used_block_group); find_free_extent()
7235 used_block_group != block_group) { find_free_extent()
7248 if (used_block_group != block_group) find_free_extent()
7259 block_group->full_stripe_len); find_free_extent()
7262 ret = btrfs_find_space_cluster(root, block_group, find_free_extent()
7271 offset = btrfs_alloc_from_cluster(block_group, find_free_extent()
7280 block_group, search_start, find_free_extent()
7289 wait_block_group_cache_progress(block_group, find_free_extent()
7316 spin_lock(&block_group->free_space_ctl->tree_lock); find_free_extent()
7318 block_group->free_space_ctl->free_space < find_free_extent()
7320 if (block_group->free_space_ctl->free_space > find_free_extent()
7323 block_group->free_space_ctl->free_space; find_free_extent()
7324 spin_unlock(&block_group->free_space_ctl->tree_lock); find_free_extent()
7327 spin_unlock(&block_group->free_space_ctl->tree_lock); find_free_extent()
7329 offset = btrfs_find_space_for_alloc(block_group, search_start, find_free_extent()
7343 wait_block_group_cache_progress(block_group, find_free_extent()
7355 block_group->key.objectid + block_group->key.offset) { find_free_extent()
7356 btrfs_add_free_space(block_group, offset, num_bytes); find_free_extent()
7361 btrfs_add_free_space(block_group, offset, find_free_extent()
7365 ret = btrfs_update_reserved_bytes(block_group, num_bytes, find_free_extent()
7368 btrfs_add_free_space(block_group, offset, num_bytes); find_free_extent()
7376 trace_btrfs_reserve_extent(orig_root, block_group, find_free_extent()
7378 btrfs_release_block_group(block_group, delalloc); find_free_extent()
7383 BUG_ON(index != get_block_group_index(block_group)); find_free_extent()
7384 btrfs_release_block_group(block_group, delalloc); find_free_extent()
7799 struct btrfs_block_group_cache *block_group; btrfs_alloc_logged_file_extent() local
7811 block_group = btrfs_lookup_block_group(root->fs_info, ins->objectid); btrfs_alloc_logged_file_extent()
7812 if (!block_group) btrfs_alloc_logged_file_extent()
7815 ret = btrfs_update_reserved_bytes(block_group, ins->offset, btrfs_alloc_logged_file_extent()
7820 btrfs_put_block_group(block_group); btrfs_alloc_logged_file_extent()
9246 struct btrfs_block_group_cache *block_group; btrfs_account_ro_block_groups_free_space() local
9255 list_for_each_entry(block_group, &sinfo->ro_bgs, ro_list) { btrfs_account_ro_block_groups_free_space()
9256 spin_lock(&block_group->lock); btrfs_account_ro_block_groups_free_space()
9258 if (!block_group->ro) { btrfs_account_ro_block_groups_free_space()
9259 spin_unlock(&block_group->lock); btrfs_account_ro_block_groups_free_space()
9263 if (block_group->flags & (BTRFS_BLOCK_GROUP_RAID1 | btrfs_account_ro_block_groups_free_space()
9270 free_bytes += (block_group->key.offset - btrfs_account_ro_block_groups_free_space()
9271 btrfs_block_group_used(&block_group->item)) * btrfs_account_ro_block_groups_free_space()
9274 spin_unlock(&block_group->lock); btrfs_account_ro_block_groups_free_space()
9310 struct btrfs_block_group_cache *block_group; btrfs_can_relocate() local
9323 block_group = btrfs_lookup_block_group(root->fs_info, bytenr); btrfs_can_relocate()
9326 if (!block_group) btrfs_can_relocate()
9329 min_free = btrfs_block_group_used(&block_group->item); btrfs_can_relocate()
9335 space_info = block_group->space_info; btrfs_can_relocate()
9347 if ((space_info->total_bytes != block_group->key.offset) && btrfs_can_relocate()
9373 target = get_restripe_target(root->fs_info, block_group->flags); btrfs_can_relocate()
9384 index = get_block_group_index(block_group); btrfs_can_relocate()
9432 btrfs_put_block_group(block_group); btrfs_can_relocate()
9474 struct btrfs_block_group_cache *block_group; btrfs_put_block_group_cache() local
9480 block_group = btrfs_lookup_first_block_group(info, last); btrfs_put_block_group_cache()
9481 while (block_group) { btrfs_put_block_group_cache()
9482 spin_lock(&block_group->lock); btrfs_put_block_group_cache()
9483 if (block_group->iref) btrfs_put_block_group_cache()
9485 spin_unlock(&block_group->lock); btrfs_put_block_group_cache()
9486 block_group = next_block_group(info->tree_root, btrfs_put_block_group_cache()
9487 block_group); btrfs_put_block_group_cache()
9489 if (!block_group) { btrfs_put_block_group_cache()
9496 inode = block_group->inode; btrfs_put_block_group_cache()
9497 block_group->iref = 0; btrfs_put_block_group_cache()
9498 block_group->inode = NULL; btrfs_put_block_group_cache()
9499 spin_unlock(&block_group->lock); btrfs_put_block_group_cache()
9501 last = block_group->key.objectid + block_group->key.offset; btrfs_put_block_group_cache()
9502 btrfs_put_block_group(block_group); btrfs_put_block_group_cache()
9508 struct btrfs_block_group_cache *block_group; btrfs_free_block_groups() local
9524 block_group = list_first_entry(&info->unused_bgs, btrfs_free_block_groups()
9527 list_del_init(&block_group->bg_list); btrfs_free_block_groups()
9528 btrfs_put_block_group(block_group); btrfs_free_block_groups()
9534 block_group = rb_entry(n, struct btrfs_block_group_cache, btrfs_free_block_groups()
9536 rb_erase(&block_group->cache_node, btrfs_free_block_groups()
9538 RB_CLEAR_NODE(&block_group->cache_node); btrfs_free_block_groups()
9541 down_write(&block_group->space_info->groups_sem); btrfs_free_block_groups()
9542 list_del(&block_group->list); btrfs_free_block_groups()
9543 up_write(&block_group->space_info->groups_sem); btrfs_free_block_groups()
9545 if (block_group->cached == BTRFS_CACHE_STARTED) btrfs_free_block_groups()
9546 wait_block_group_cache_done(block_group); btrfs_free_block_groups()
9552 if (block_group->cached == BTRFS_CACHE_NO || btrfs_free_block_groups()
9553 block_group->cached == BTRFS_CACHE_ERROR) btrfs_free_block_groups()
9554 free_excluded_extents(info->extent_root, block_group); btrfs_free_block_groups()
9556 btrfs_remove_free_space_cache(block_group); btrfs_free_block_groups()
9557 btrfs_put_block_group(block_group); btrfs_free_block_groups()
9858 struct btrfs_block_group_cache *block_group, *tmp; btrfs_create_pending_block_groups() local
9866 list_for_each_entry_safe(block_group, tmp, &trans->new_bgs, bg_list) { btrfs_create_pending_block_groups()
9870 spin_lock(&block_group->lock); btrfs_create_pending_block_groups()
9871 memcpy(&item, &block_group->item, sizeof(item)); btrfs_create_pending_block_groups()
9872 memcpy(&key, &block_group->key, sizeof(key)); btrfs_create_pending_block_groups()
9873 spin_unlock(&block_group->lock); btrfs_create_pending_block_groups()
9884 list_del_init(&block_group->bg_list); btrfs_create_pending_block_groups()
10008 struct btrfs_block_group_cache *block_group; btrfs_remove_block_group() local
10022 block_group = btrfs_lookup_block_group(root->fs_info, group_start); btrfs_remove_block_group()
10023 BUG_ON(!block_group); btrfs_remove_block_group()
10024 BUG_ON(!block_group->ro); btrfs_remove_block_group()
10030 free_excluded_extents(root, block_group); btrfs_remove_block_group()
10032 memcpy(&key, &block_group->key, sizeof(key)); btrfs_remove_block_group()
10033 index = get_block_group_index(block_group); btrfs_remove_block_group()
10034 if (block_group->flags & (BTRFS_BLOCK_GROUP_DUP | btrfs_remove_block_group()
10044 btrfs_return_cluster_to_free_space(block_group, cluster); btrfs_remove_block_group()
10053 btrfs_return_cluster_to_free_space(block_group, cluster); btrfs_remove_block_group()
10066 inode = lookup_free_space_inode(tree_root, block_group, path); btrfs_remove_block_group()
10074 if (!list_empty(&block_group->io_list)) { btrfs_remove_block_group()
10075 list_del_init(&block_group->io_list); btrfs_remove_block_group()
10077 WARN_ON(!IS_ERR(inode) && inode != block_group->io_ctl.inode); btrfs_remove_block_group()
10080 btrfs_wait_cache_io(root, trans, block_group, btrfs_remove_block_group()
10081 &block_group->io_ctl, path, btrfs_remove_block_group()
10082 block_group->key.objectid); btrfs_remove_block_group()
10083 btrfs_put_block_group(block_group); btrfs_remove_block_group()
10087 if (!list_empty(&block_group->dirty_list)) { btrfs_remove_block_group()
10088 list_del_init(&block_group->dirty_list); btrfs_remove_block_group()
10089 btrfs_put_block_group(block_group); btrfs_remove_block_group()
10102 spin_lock(&block_group->lock); btrfs_remove_block_group()
10103 if (block_group->iref) { btrfs_remove_block_group()
10104 block_group->iref = 0; btrfs_remove_block_group()
10105 block_group->inode = NULL; btrfs_remove_block_group()
10106 spin_unlock(&block_group->lock); btrfs_remove_block_group()
10109 spin_unlock(&block_group->lock); btrfs_remove_block_group()
10116 key.offset = block_group->key.objectid; btrfs_remove_block_group()
10132 rb_erase(&block_group->cache_node, btrfs_remove_block_group()
10134 RB_CLEAR_NODE(&block_group->cache_node); btrfs_remove_block_group()
10136 if (root->fs_info->first_logical_byte == block_group->key.objectid) btrfs_remove_block_group()
10140 down_write(&block_group->space_info->groups_sem); btrfs_remove_block_group()
10145 list_del_init(&block_group->list); btrfs_remove_block_group()
10146 if (list_empty(&block_group->space_info->block_groups[index])) { btrfs_remove_block_group()
10147 kobj = block_group->space_info->block_group_kobjs[index]; btrfs_remove_block_group()
10148 block_group->space_info->block_group_kobjs[index] = NULL; btrfs_remove_block_group()
10149 clear_avail_alloc_bits(root->fs_info, block_group->flags); btrfs_remove_block_group()
10151 up_write(&block_group->space_info->groups_sem); btrfs_remove_block_group()
10157 if (block_group->has_caching_ctl) btrfs_remove_block_group()
10158 caching_ctl = get_caching_control(block_group); btrfs_remove_block_group()
10159 if (block_group->cached == BTRFS_CACHE_STARTED) btrfs_remove_block_group()
10160 wait_block_group_cache_done(block_group); btrfs_remove_block_group()
10161 if (block_group->has_caching_ctl) { btrfs_remove_block_group()
10168 if (ctl->block_group == block_group) { btrfs_remove_block_group()
10185 if (!list_empty(&block_group->dirty_list)) { btrfs_remove_block_group()
10188 if (!list_empty(&block_group->io_list)) { btrfs_remove_block_group()
10192 btrfs_remove_free_space_cache(block_group); btrfs_remove_block_group()
10194 spin_lock(&block_group->space_info->lock); btrfs_remove_block_group()
10195 list_del_init(&block_group->ro_list); btrfs_remove_block_group()
10198 WARN_ON(block_group->space_info->total_bytes btrfs_remove_block_group()
10199 < block_group->key.offset); btrfs_remove_block_group()
10200 WARN_ON(block_group->space_info->bytes_readonly btrfs_remove_block_group()
10201 < block_group->key.offset); btrfs_remove_block_group()
10202 WARN_ON(block_group->space_info->disk_total btrfs_remove_block_group()
10203 < block_group->key.offset * factor); btrfs_remove_block_group()
10205 block_group->space_info->total_bytes -= block_group->key.offset; btrfs_remove_block_group()
10206 block_group->space_info->bytes_readonly -= block_group->key.offset; btrfs_remove_block_group()
10207 block_group->space_info->disk_total -= block_group->key.offset * factor; btrfs_remove_block_group()
10209 spin_unlock(&block_group->space_info->lock); btrfs_remove_block_group()
10211 memcpy(&key, &block_group->key, sizeof(key)); btrfs_remove_block_group()
10218 spin_lock(&block_group->lock); btrfs_remove_block_group()
10219 block_group->removed = 1; btrfs_remove_block_group()
10225 * incremented block_group->trimming - if they didn't, they won't find btrfs_remove_block_group()
10243 remove_em = (atomic_read(&block_group->trimming) == 0); btrfs_remove_block_group()
10246 * if it sees block_group->removed == 1 (needs to lock block_group->lock btrfs_remove_block_group()
10247 * before checking block_group->removed). btrfs_remove_block_group()
10263 spin_unlock(&block_group->lock); btrfs_remove_block_group()
10283 btrfs_put_block_group(block_group); btrfs_remove_block_group()
10284 btrfs_put_block_group(block_group); btrfs_remove_block_group()
10345 struct btrfs_block_group_cache *block_group; btrfs_delete_unused_bgs() local
10359 block_group = list_first_entry(&fs_info->unused_bgs, btrfs_delete_unused_bgs()
10362 list_del_init(&block_group->bg_list); btrfs_delete_unused_bgs()
10364 space_info = block_group->space_info; btrfs_delete_unused_bgs()
10367 btrfs_put_block_group(block_group); btrfs_delete_unused_bgs()
10376 spin_lock(&block_group->lock); btrfs_delete_unused_bgs()
10377 if (block_group->reserved || btrfs_delete_unused_bgs()
10378 btrfs_block_group_used(&block_group->item) || btrfs_delete_unused_bgs()
10379 block_group->ro || btrfs_delete_unused_bgs()
10380 list_is_singular(&block_group->list)) { btrfs_delete_unused_bgs()
10387 spin_unlock(&block_group->lock); btrfs_delete_unused_bgs()
10391 spin_unlock(&block_group->lock); btrfs_delete_unused_bgs()
10394 ret = inc_block_group_ro(block_group, 0); btrfs_delete_unused_bgs()
10406 block_group->key.objectid); btrfs_delete_unused_bgs()
10408 btrfs_dec_block_group_ro(root, block_group); btrfs_delete_unused_bgs()
10417 start = block_group->key.objectid; btrfs_delete_unused_bgs()
10418 end = start + block_group->key.offset - 1; btrfs_delete_unused_bgs()
10435 btrfs_dec_block_group_ro(root, block_group); btrfs_delete_unused_bgs()
10442 btrfs_dec_block_group_ro(root, block_group); btrfs_delete_unused_bgs()
10449 spin_lock(&block_group->lock); btrfs_delete_unused_bgs()
10451 space_info->bytes_pinned -= block_group->pinned; btrfs_delete_unused_bgs()
10452 space_info->bytes_readonly += block_group->pinned; btrfs_delete_unused_bgs()
10454 -block_group->pinned); btrfs_delete_unused_bgs()
10455 block_group->pinned = 0; btrfs_delete_unused_bgs()
10457 spin_unlock(&block_group->lock); btrfs_delete_unused_bgs()
10465 btrfs_get_block_group_trimming(block_group); btrfs_delete_unused_bgs()
10472 block_group->key.objectid); btrfs_delete_unused_bgs()
10476 btrfs_put_block_group_trimming(block_group); btrfs_delete_unused_bgs()
10492 list_move(&block_group->bg_list, btrfs_delete_unused_bgs()
10495 btrfs_get_block_group(block_group); btrfs_delete_unused_bgs()
10501 btrfs_put_block_group(block_group); btrfs_delete_unused_bgs()
146 btrfs_add_block_group_cache(struct btrfs_fs_info *info, struct btrfs_block_group_cache *block_group) btrfs_add_block_group_cache() argument
335 fragment_free_space(struct btrfs_root *root, struct btrfs_block_group_cache *block_group) fragment_free_space() argument
H A Drelocation.c159 struct btrfs_block_group_cache *block_group; member in struct:reloc_control
1566 struct btrfs_block_group_cache *block_group) in_block_group()
1568 if (bytenr >= block_group->key.objectid && in_block_group()
1569 bytenr < block_group->key.objectid + block_group->key.offset) in_block_group()
1668 if (!in_block_group(bytenr, rc->block_group)) replace_file_extents()
2823 in_block_group(node->bytenr, rc->block_group)) { __mark_block_processed()
3439 struct btrfs_block_group_cache *block_group, delete_block_group_cache()
3474 ret = btrfs_truncate_free_space_cache(root, trans, block_group, inode); delete_block_group_cache()
3520 rc->block_group, find_data_references()
3763 last = rc->block_group->key.objectid + rc->block_group->key.offset; find_next_extent()
3879 rc->search_start = rc->block_group->key.objectid; prepare_to_relocate()
4051 rc->block_group->flags); relocate_block_group()
4215 rc->block_group = btrfs_lookup_block_group(fs_info, group_start); btrfs_relocate_block_group()
4216 BUG_ON(!rc->block_group); btrfs_relocate_block_group()
4218 ret = btrfs_inc_block_group_ro(extent_root, rc->block_group); btrfs_relocate_block_group()
4231 inode = lookup_free_space_inode(fs_info->tree_root, rc->block_group, btrfs_relocate_block_group()
4236 ret = delete_block_group_cache(fs_info, rc->block_group, inode, 0); btrfs_relocate_block_group()
4245 rc->data_inode = create_reloc_inode(fs_info, rc->block_group); btrfs_relocate_block_group()
4253 rc->block_group->key.objectid, rc->block_group->flags); btrfs_relocate_block_group()
4290 WARN_ON(rc->block_group->pinned > 0); btrfs_relocate_block_group()
4291 WARN_ON(rc->block_group->reserved > 0); btrfs_relocate_block_group()
4292 WARN_ON(btrfs_block_group_used(&rc->block_group->item) > 0); btrfs_relocate_block_group()
4295 btrfs_dec_block_group_ro(extent_root, rc->block_group); btrfs_relocate_block_group()
4297 btrfs_put_block_group(rc->block_group); btrfs_relocate_block_group()
1565 in_block_group(u64 bytenr, struct btrfs_block_group_cache *block_group) in_block_group() argument
3438 delete_block_group_cache(struct btrfs_fs_info *fs_info, struct btrfs_block_group_cache *block_group, struct inode *inode, u64 ino) delete_block_group_cache() argument
H A Dsysfs.c267 struct btrfs_block_group_cache *block_group; raid_bytes_show() local
272 list_for_each_entry(block_group, &sinfo->block_groups[index], list) { raid_bytes_show()
274 val += block_group->key.offset; raid_bytes_show()
276 val += btrfs_block_group_used(&block_group->item); raid_bytes_show()
H A Dctree.h723 __le64 block_group; member in struct:btrfs_inode_item
1265 struct btrfs_block_group_cache *block_group; member in struct:btrfs_free_cluster
1294 struct btrfs_block_group_cache *block_group; member in struct:btrfs_caching_control
2214 struct btrfs_block_group_cache *block_group) btrfs_should_fragment_free_space()
2217 block_group->flags & BTRFS_BLOCK_GROUP_METADATA) || btrfs_should_fragment_free_space()
2219 block_group->flags & BTRFS_BLOCK_GROUP_DATA); btrfs_should_fragment_free_space()
2526 BTRFS_SETGET_FUNCS(inode_block_group, struct btrfs_inode_item, block_group, 64);
2543 block_group, 64);
2213 btrfs_should_fragment_free_space(struct btrfs_root *root, struct btrfs_block_group_cache *block_group) btrfs_should_fragment_free_space() argument
H A Dioctl.c4146 struct btrfs_block_group_cache *block_group; btrfs_get_block_group_info() local
4151 list_for_each_entry(block_group, groups_list, list) { list_for_each_entry()
4152 space->flags = block_group->flags; list_for_each_entry()
4153 space->total_bytes += block_group->key.offset; list_for_each_entry()
4155 btrfs_block_group_used(&block_group->item); list_for_each_entry()
/linux-4.4.14/fs/ext4/
H A Dballoc.c26 ext4_group_t block_group);
69 * Check whether the 'block' lives within the 'block_group'. Returns 1 if so
74 ext4_group_t block_group) ext4_block_in_group()
79 return (actual_group == block_group) ? 1 : 0; ext4_block_in_group()
86 ext4_group_t block_group, ext4_num_overhead_clusters()
91 ext4_fsblk_t start = ext4_group_first_block_no(sb, block_group); ext4_num_overhead_clusters()
98 num_clusters = ext4_num_base_meta_clusters(sb, block_group); ext4_num_overhead_clusters()
112 if (ext4_block_in_group(sb, ext4_block_bitmap(sb, gdp), block_group)) { ext4_num_overhead_clusters()
123 if (ext4_block_in_group(sb, ext4_inode_bitmap(sb, gdp), block_group)) { ext4_num_overhead_clusters()
136 if (ext4_block_in_group(sb, itbl_blk + i, block_group)) { ext4_num_overhead_clusters()
159 ext4_group_t block_group) num_clusters_in_group()
163 if (block_group == ext4_get_groups_count(sb) - 1) { num_clusters_in_group()
171 ext4_group_first_block_no(sb, block_group); num_clusters_in_group()
180 ext4_group_t block_group, ext4_init_block_bitmap()
193 if (!ext4_group_desc_csum_verify(sb, block_group, gdp)) { ext4_init_block_bitmap()
194 grp = ext4_get_group_info(sb, block_group); ext4_init_block_bitmap()
210 bit_max = ext4_num_base_meta_clusters(sb, block_group); ext4_init_block_bitmap()
214 start = ext4_group_first_block_no(sb, block_group); ext4_init_block_bitmap()
221 if (!flex_bg || ext4_block_in_group(sb, tmp, block_group)) ext4_init_block_bitmap()
225 if (!flex_bg || ext4_block_in_group(sb, tmp, block_group)) ext4_init_block_bitmap()
231 if (!flex_bg || ext4_block_in_group(sb, tmp, block_group)) ext4_init_block_bitmap()
240 ext4_mark_bitmap_end(num_clusters_in_group(sb, block_group), ext4_init_block_bitmap()
242 ext4_block_bitmap_csum_set(sb, block_group, gdp, bh); ext4_init_block_bitmap()
243 ext4_group_desc_csum_set(sb, block_group, gdp); ext4_init_block_bitmap()
251 ext4_group_t block_group, ext4_free_clusters_after_init()
254 return num_clusters_in_group(sb, block_group) - ext4_free_clusters_after_init()
255 ext4_num_overhead_clusters(sb, block_group, gdp); ext4_free_clusters_after_init()
272 * @block_group: given block group
277 ext4_group_t block_group, ext4_get_group_desc()
286 if (block_group >= ngroups) { ext4_get_group_desc()
287 ext4_error(sb, "block_group >= groups_count - block_group = %u," ext4_get_group_desc()
288 " groups_count = %u", block_group, ngroups); ext4_get_group_desc()
293 group_desc = block_group >> EXT4_DESC_PER_BLOCK_BITS(sb); ext4_get_group_desc()
294 offset = block_group & (EXT4_DESC_PER_BLOCK(sb) - 1); ext4_get_group_desc()
297 "block_group = %u, group_desc = %u, desc = %u", ext4_get_group_desc()
298 block_group, group_desc, offset); ext4_get_group_desc()
316 ext4_group_t block_group, ext4_valid_block_bitmap()
334 group_first_block = ext4_group_first_block_no(sb, block_group); ext4_valid_block_bitmap()
365 ext4_group_t block_group, ext4_validate_block_bitmap()
369 struct ext4_group_info *grp = ext4_get_group_info(sb, block_group); ext4_validate_block_bitmap()
377 ext4_lock_group(sb, block_group); ext4_validate_block_bitmap()
378 if (unlikely(!ext4_block_bitmap_csum_verify(sb, block_group, ext4_validate_block_bitmap()
380 ext4_unlock_group(sb, block_group); ext4_validate_block_bitmap()
381 ext4_error(sb, "bg %u: bad block bitmap checksum", block_group); ext4_validate_block_bitmap()
388 blk = ext4_valid_block_bitmap(sb, desc, block_group, bh); ext4_validate_block_bitmap()
390 ext4_unlock_group(sb, block_group); ext4_validate_block_bitmap()
392 block_group, blk); ext4_validate_block_bitmap()
400 ext4_unlock_group(sb, block_group); ext4_validate_block_bitmap()
407 * @block_group: given block group
409 * Read the bitmap for a given block_group,and validate the
415 ext4_read_block_bitmap_nowait(struct super_block *sb, ext4_group_t block_group) ext4_read_block_bitmap_nowait() argument
422 desc = ext4_get_group_desc(sb, block_group, NULL); ext4_read_block_bitmap_nowait()
429 "block_group = %u, block_bitmap = %llu", ext4_read_block_bitmap_nowait()
430 block_group, bitmap_blk); ext4_read_block_bitmap_nowait()
442 ext4_lock_group(sb, block_group); ext4_read_block_bitmap_nowait()
444 err = ext4_init_block_bitmap(sb, bh, block_group, desc); ext4_read_block_bitmap_nowait()
447 ext4_unlock_group(sb, block_group); ext4_read_block_bitmap_nowait()
451 "%u: %d", block_group, err); ext4_read_block_bitmap_nowait()
456 ext4_unlock_group(sb, block_group); ext4_read_block_bitmap_nowait()
470 trace_ext4_read_block_bitmap_load(sb, block_group); ext4_read_block_bitmap_nowait()
476 err = ext4_validate_block_bitmap(sb, desc, block_group, bh); ext4_read_block_bitmap_nowait()
486 int ext4_wait_block_bitmap(struct super_block *sb, ext4_group_t block_group, ext4_wait_block_bitmap() argument
493 desc = ext4_get_group_desc(sb, block_group, NULL); ext4_wait_block_bitmap()
499 "block_group = %u, block_bitmap = %llu", ext4_wait_block_bitmap()
500 block_group, (unsigned long long) bh->b_blocknr); ext4_wait_block_bitmap()
505 return ext4_validate_block_bitmap(sb, desc, block_group, bh); ext4_wait_block_bitmap()
509 ext4_read_block_bitmap(struct super_block *sb, ext4_group_t block_group) ext4_read_block_bitmap() argument
514 bh = ext4_read_block_bitmap_nowait(sb, block_group); ext4_read_block_bitmap()
517 err = ext4_wait_block_bitmap(sb, block_group, bh); ext4_read_block_bitmap()
820 ext4_group_t block_group) ext4_num_base_meta_clusters()
826 num = ext4_bg_has_super(sb, block_group); ext4_num_base_meta_clusters()
829 block_group < le32_to_cpu(sbi->s_es->s_first_meta_bg) * ext4_num_base_meta_clusters()
832 num += ext4_bg_num_gdb(sb, block_group); ext4_num_base_meta_clusters()
836 num += ext4_bg_num_gdb(sb, block_group); ext4_num_base_meta_clusters()
850 ext4_group_t block_group; ext4_inode_to_goal_block() local
856 block_group = ei->i_block_group; ext4_inode_to_goal_block()
866 block_group &= ~(flex_size-1); ext4_inode_to_goal_block()
868 block_group++; ext4_inode_to_goal_block()
870 bg_start = ext4_group_first_block_no(inode->i_sb, block_group); ext4_inode_to_goal_block()
72 ext4_block_in_group(struct super_block *sb, ext4_fsblk_t block, ext4_group_t block_group) ext4_block_in_group() argument
85 ext4_num_overhead_clusters(struct super_block *sb, ext4_group_t block_group, struct ext4_group_desc *gdp) ext4_num_overhead_clusters() argument
158 num_clusters_in_group(struct super_block *sb, ext4_group_t block_group) num_clusters_in_group() argument
178 ext4_init_block_bitmap(struct super_block *sb, struct buffer_head *bh, ext4_group_t block_group, struct ext4_group_desc *gdp) ext4_init_block_bitmap() argument
250 ext4_free_clusters_after_init(struct super_block *sb, ext4_group_t block_group, struct ext4_group_desc *gdp) ext4_free_clusters_after_init() argument
276 ext4_get_group_desc(struct super_block *sb, ext4_group_t block_group, struct buffer_head **bh) ext4_get_group_desc() argument
314 ext4_valid_block_bitmap(struct super_block *sb, struct ext4_group_desc *desc, ext4_group_t block_group, struct buffer_head *bh) ext4_valid_block_bitmap() argument
363 ext4_validate_block_bitmap(struct super_block *sb, struct ext4_group_desc *desc, ext4_group_t block_group, struct buffer_head *bh) ext4_validate_block_bitmap() argument
819 ext4_num_base_meta_clusters(struct super_block *sb, ext4_group_t block_group) ext4_num_base_meta_clusters() argument
H A Dialloc.c69 ext4_group_t block_group, ext4_init_inode_bitmap()
78 if (!ext4_group_desc_csum_verify(sb, block_group, gdp)) { ext4_init_inode_bitmap()
79 grp = ext4_get_group_info(sb, block_group); ext4_init_inode_bitmap()
97 ext4_inode_bitmap_csum_set(sb, block_group, gdp, bh, ext4_init_inode_bitmap()
99 ext4_group_desc_csum_set(sb, block_group, gdp); ext4_init_inode_bitmap()
116 ext4_group_t block_group, ext4_validate_inode_bitmap()
120 struct ext4_group_info *grp = ext4_get_group_info(sb, block_group); ext4_validate_inode_bitmap()
128 ext4_lock_group(sb, block_group); ext4_validate_inode_bitmap()
130 if (!ext4_inode_bitmap_csum_verify(sb, block_group, desc, bh, ext4_validate_inode_bitmap()
132 ext4_unlock_group(sb, block_group); ext4_validate_inode_bitmap()
133 ext4_error(sb, "Corrupt inode bitmap - block_group = %u, " ext4_validate_inode_bitmap()
134 "inode_bitmap = %llu", block_group, blk); ext4_validate_inode_bitmap()
135 grp = ext4_get_group_info(sb, block_group); ext4_validate_inode_bitmap()
146 ext4_unlock_group(sb, block_group); ext4_validate_inode_bitmap()
151 * Read the inode allocation bitmap for a given block_group, reading
157 ext4_read_inode_bitmap(struct super_block *sb, ext4_group_t block_group) ext4_read_inode_bitmap() argument
164 desc = ext4_get_group_desc(sb, block_group, NULL); ext4_read_inode_bitmap()
172 "block_group = %u, inode_bitmap = %llu", ext4_read_inode_bitmap()
173 block_group, bitmap_blk); ext4_read_inode_bitmap()
185 ext4_lock_group(sb, block_group); ext4_read_inode_bitmap()
187 err = ext4_init_inode_bitmap(sb, bh, block_group, desc); ext4_read_inode_bitmap()
191 ext4_unlock_group(sb, block_group); ext4_read_inode_bitmap()
195 "%u: %d", block_group, err); ext4_read_inode_bitmap()
200 ext4_unlock_group(sb, block_group); ext4_read_inode_bitmap()
214 trace_ext4_load_inode_bitmap(sb, block_group); ext4_read_inode_bitmap()
222 "block_group = %u, inode_bitmap = %llu", ext4_read_inode_bitmap()
223 block_group, bitmap_blk); ext4_read_inode_bitmap()
228 err = ext4_validate_inode_bitmap(sb, desc, block_group, bh); ext4_read_inode_bitmap()
260 ext4_group_t block_group; ext4_free_inode() local
309 block_group = (ino - 1) / EXT4_INODES_PER_GROUP(sb); ext4_free_inode()
311 bitmap_bh = ext4_read_inode_bitmap(sb, block_group); ext4_free_inode()
313 grp = ext4_get_group_info(sb, block_group); ext4_free_inode()
330 gdp = ext4_get_group_desc(sb, block_group, &bh2); ext4_free_inode()
335 ext4_lock_group(sb, block_group); ext4_free_inode()
338 ext4_unlock_group(sb, block_group); ext4_free_inode()
349 ext4_inode_bitmap_csum_set(sb, block_group, gdp, bitmap_bh, ext4_free_inode()
351 ext4_group_desc_csum_set(sb, block_group, gdp); ext4_free_inode()
352 ext4_unlock_group(sb, block_group); ext4_free_inode()
356 ext4_group_t f = ext4_flex_group(sbi, block_group); ext4_free_inode()
1144 ext4_group_t block_group; ext4_orphan_get() local
1153 block_group = (ino - 1) / EXT4_INODES_PER_GROUP(sb); ext4_orphan_get()
1155 bitmap_bh = ext4_read_inode_bitmap(sb, block_group); ext4_orphan_get()
67 ext4_init_inode_bitmap(struct super_block *sb, struct buffer_head *bh, ext4_group_t block_group, struct ext4_group_desc *gdp) ext4_init_inode_bitmap() argument
114 ext4_validate_inode_bitmap(struct super_block *sb, struct ext4_group_desc *desc, ext4_group_t block_group, struct buffer_head *bh) ext4_validate_inode_bitmap() argument
H A Dmballoc.c2766 ext4_group_t block_group, ext4_grpblk_t cluster, int count) ext4_issue_discard()
2771 ext4_group_first_block_no(sb, block_group)); ext4_issue_discard()
4668 ext4_group_t block_group; ext4_free_blocks() local
4758 ext4_get_group_no_and_offset(sb, block, &block_group, &bit); ext4_free_blocks()
4761 ext4_get_group_info(sb, block_group)))) ext4_free_blocks()
4774 bitmap_bh = ext4_read_block_bitmap(sb, block_group); ext4_free_blocks()
4780 gdp = ext4_get_group_desc(sb, block_group, &gd_bh); ext4_free_blocks()
4820 trace_ext4_mballoc_free(sb, inode, block_group, bit, count_clusters); ext4_free_blocks()
4822 err = ext4_mb_load_buddy(sb, block_group, &e4b); ext4_free_blocks()
4838 new_entry->efd_group = block_group; ext4_free_blocks()
4842 ext4_lock_group(sb, block_group); ext4_free_blocks()
4851 err = ext4_issue_discard(sb, block_group, bit, count); ext4_free_blocks()
4855 " with %d", block_group, bit, count, ext4_free_blocks()
4860 ext4_lock_group(sb, block_group); ext4_free_blocks()
4867 ext4_block_bitmap_csum_set(sb, block_group, gdp, bitmap_bh); ext4_free_blocks()
4868 ext4_group_desc_csum_set(sb, block_group, gdp); ext4_free_blocks()
4869 ext4_unlock_group(sb, block_group); ext4_free_blocks()
4872 ext4_group_t flex_group = ext4_flex_group(sbi, block_group); ext4_free_blocks()
4919 ext4_group_t block_group; ext4_group_add_blocks() local
4933 ext4_get_group_no_and_offset(sb, block, &block_group, &bit); ext4_group_add_blocks()
4940 block_group); ext4_group_add_blocks()
4945 bitmap_bh = ext4_read_block_bitmap(sb, block_group); ext4_group_add_blocks()
4952 desc = ext4_get_group_desc(sb, block_group, &gd_bh); ext4_group_add_blocks()
4996 err = ext4_mb_load_buddy(sb, block_group, &e4b); ext4_group_add_blocks()
5005 ext4_lock_group(sb, block_group); ext4_group_add_blocks()
5010 ext4_block_bitmap_csum_set(sb, block_group, desc, bitmap_bh); ext4_group_add_blocks()
5011 ext4_group_desc_csum_set(sb, block_group, desc); ext4_group_add_blocks()
5012 ext4_unlock_group(sb, block_group); ext4_group_add_blocks()
5017 ext4_group_t flex_group = ext4_flex_group(sbi, block_group); ext4_group_add_blocks()
2765 ext4_issue_discard(struct super_block *sb, ext4_group_t block_group, ext4_grpblk_t cluster, int count) ext4_issue_discard() argument
H A Dext4.h2051 ext4_group_t block_group; member in struct:ext4_iloc
2232 ext4_group_t block_group,
2237 ext4_group_t block_group);
2239 ext4_group_t block_group,
2242 ext4_group_t block_group);
2244 ext4_group_t block_group,
2831 ext4_group_t block_group) ext4_flex_group()
2833 return block_group >> sbi->s_log_groups_per_flex; ext4_flex_group()
2830 ext4_flex_group(struct ext4_sb_info *sbi, ext4_group_t block_group) ext4_flex_group() argument
H A Dsuper.c2030 static __le16 ext4_group_desc_csum(struct super_block *sb, __u32 block_group, ext4_group_desc_csum() argument
2035 __le32 le_group = cpu_to_le32(block_group); ext4_group_desc_csum()
2076 int ext4_group_desc_csum_verify(struct super_block *sb, __u32 block_group, ext4_group_desc_csum_verify() argument
2080 (gdp->bg_checksum != ext4_group_desc_csum(sb, block_group, gdp))) ext4_group_desc_csum_verify()
2086 void ext4_group_desc_csum_set(struct super_block *sb, __u32 block_group, ext4_group_desc_csum_set() argument
2091 gdp->bg_checksum = ext4_group_desc_csum(sb, block_group, gdp); ext4_group_desc_csum_set()
H A Dinode.c3929 iloc->block_group = (inode->i_ino - 1) / EXT4_INODES_PER_GROUP(sb); __ext4_get_inode_loc()
3930 gdp = ext4_get_group_desc(sb, iloc->block_group, NULL); __ext4_get_inode_loc()
4245 ei->i_block_group = iloc.block_group; ext4_iget()
/linux-4.4.14/include/linux/
H A Dblockgroup_lock.h57 bgl_lock_ptr(struct blockgroup_lock *bgl, unsigned int block_group) bgl_lock_ptr() argument
59 return &bgl->locks[(block_group) & (NR_BG_LOCKS-1)].lock; bgl_lock_ptr()
/linux-4.4.14/fs/udf/
H A Dballoc.c55 unsigned int block_group) __load_block_bitmap()
60 if (block_group >= nr_groups) { __load_block_bitmap()
61 udf_debug("block_group (%d) > nr_groups (%d)\n", __load_block_bitmap()
62 block_group, nr_groups); __load_block_bitmap()
65 if (bitmap->s_block_bitmap[block_group]) __load_block_bitmap()
66 return block_group; __load_block_bitmap()
68 retval = read_block_bitmap(sb, bitmap, block_group, block_group); __load_block_bitmap()
72 return block_group; __load_block_bitmap()
77 unsigned int block_group) load_block_bitmap()
81 slot = __load_block_bitmap(sb, bitmap, block_group); load_block_bitmap()
115 unsigned long block_group; udf_bitmap_free_blocks() local
137 block_group = block >> (sb->s_blocksize_bits + 3); udf_bitmap_free_blocks()
147 bitmap_nr = load_block_bitmap(sb, bitmap, block_group); udf_bitmap_free_blocks()
178 int bit, block, block_group, group_start; udf_bitmap_prealloc_blocks() local
194 block_group = block >> (sb->s_blocksize_bits + 3); udf_bitmap_prealloc_blocks()
195 group_start = block_group ? 0 : sizeof(struct spaceBitmapDesc); udf_bitmap_prealloc_blocks()
197 bitmap_nr = load_block_bitmap(sb, bitmap, block_group); udf_bitmap_prealloc_blocks()
226 int newbit, bit = 0, block, block_group, group_start; udf_bitmap_new_block() local
241 block_group = block >> (sb->s_blocksize_bits + 3); udf_bitmap_new_block()
242 group_start = block_group ? 0 : sizeof(struct spaceBitmapDesc); udf_bitmap_new_block()
244 bitmap_nr = load_block_bitmap(sb, bitmap, block_group); udf_bitmap_new_block()
278 block_group++; udf_bitmap_new_block()
279 if (block_group >= nr_groups) udf_bitmap_new_block()
280 block_group = 0; udf_bitmap_new_block()
281 group_start = block_group ? 0 : sizeof(struct spaceBitmapDesc); udf_bitmap_new_block()
283 bitmap_nr = load_block_bitmap(sb, bitmap, block_group); udf_bitmap_new_block()
325 newblock = bit + (block_group << (sb->s_blocksize_bits + 3)) - udf_bitmap_new_block()
53 __load_block_bitmap(struct super_block *sb, struct udf_bitmap *bitmap, unsigned int block_group) __load_block_bitmap() argument
75 load_block_bitmap(struct super_block *sb, struct udf_bitmap *bitmap, unsigned int block_group) load_block_bitmap() argument
/linux-4.4.14/include/trace/events/
H A Dbtrfs.h815 struct btrfs_block_group_cache *block_group, u64 start,
818 TP_ARGS(root, block_group, start, len),
830 __entry->bg_objectid = block_group->key.objectid;
831 __entry->flags = block_group->flags;
836 TP_printk("root = %Lu(%s), block_group = %Lu, flags = %Lu(%s), "
847 struct btrfs_block_group_cache *block_group, u64 start,
850 TP_ARGS(root, block_group, start, len)
856 struct btrfs_block_group_cache *block_group, u64 start,
859 TP_ARGS(root, block_group, start, len)
864 TP_PROTO(struct btrfs_block_group_cache *block_group, u64 start,
867 TP_ARGS(block_group, start, bytes, empty_size, min_bytes),
879 __entry->bg_objectid = block_group->key.objectid;
880 __entry->flags = block_group->flags;
887 TP_printk("block_group = %Lu, flags = %Lu(%s), start = %Lu, len = %Lu,"
897 TP_PROTO(struct btrfs_block_group_cache *block_group),
899 TP_ARGS(block_group),
906 __entry->bg_objectid = block_group->key.objectid;
909 TP_printk("block_group = %Lu", __entry->bg_objectid)
914 TP_PROTO(struct btrfs_block_group_cache *block_group,
917 TP_ARGS(block_group, cluster, size, bitmap),
929 __entry->bg_objectid = block_group->key.objectid;
930 __entry->flags = block_group->flags;
937 TP_printk("block_group = %Lu, flags = %Lu(%s), window_start = %Lu, "
/linux-4.4.14/fs/ext2/
H A Dialloc.c40 * Read the inode allocation bitmap for a given block_group, reading
46 read_inode_bitmap(struct super_block * sb, unsigned long block_group) read_inode_bitmap() argument
51 desc = ext2_get_group_desc(sb, block_group, NULL); read_inode_bitmap()
59 "block_group = %lu, inode_bitmap = %u", read_inode_bitmap()
60 block_group, le32_to_cpu(desc->bg_inode_bitmap)); read_inode_bitmap()
109 unsigned long block_group; ext2_free_inode() local
133 block_group = (ino - 1) / EXT2_INODES_PER_GROUP(sb); ext2_free_inode()
135 bitmap_bh = read_inode_bitmap(sb, block_group); ext2_free_inode()
140 if (!ext2_clear_bit_atomic(sb_bgl_lock(EXT2_SB(sb), block_group), ext2_free_inode()
145 ext2_release_inode(sb, block_group, is_directory); ext2_free_inode()
167 unsigned long block_group; ext2_preread_inode() local
179 block_group = (inode->i_ino - 1) / EXT2_INODES_PER_GROUP(inode->i_sb); ext2_preread_inode()
180 gdp = ext2_get_group_desc(inode->i_sb, block_group, NULL); ext2_preread_inode()
522 "block_group = %d,inode=%lu", group, ext2_new_inode()
H A Dballoc.c40 unsigned int block_group, ext2_get_group_desc()
48 if (block_group >= sbi->s_groups_count) { ext2_get_group_desc()
50 "block_group >= groups_count - " ext2_get_group_desc()
51 "block_group = %d, groups_count = %lu", ext2_get_group_desc()
52 block_group, sbi->s_groups_count); ext2_get_group_desc()
57 group_desc = block_group >> EXT2_DESC_PER_BLOCK_BITS(sb); ext2_get_group_desc()
58 offset = block_group & (EXT2_DESC_PER_BLOCK(sb) - 1); ext2_get_group_desc()
62 "block_group = %d, group_desc = %lu, desc = %lu", ext2_get_group_desc()
63 block_group, group_desc, offset); ext2_get_group_desc()
75 unsigned int block_group, ext2_valid_block_bitmap()
83 group_first_block = ext2_group_first_block_no(sb, block_group); ext2_valid_block_bitmap()
112 "block_group = %d, block = %lu", ext2_valid_block_bitmap()
113 block_group, bitmap_blk); ext2_valid_block_bitmap()
118 * Read the bitmap for a given block_group,and validate the
124 read_block_bitmap(struct super_block *sb, unsigned int block_group) read_block_bitmap() argument
130 desc = ext2_get_group_desc(sb, block_group, NULL); read_block_bitmap()
138 "block_group = %d, block_bitmap = %u", read_block_bitmap()
139 block_group, le32_to_cpu(desc->bg_block_bitmap)); read_block_bitmap()
149 "block_group = %d, block_bitmap = %u", read_block_bitmap()
150 block_group, le32_to_cpu(desc->bg_block_bitmap)); read_block_bitmap()
154 ext2_valid_block_bitmap(sb, desc, block_group, bh); read_block_bitmap()
481 unsigned long block_group; ext2_free_blocks() local
504 block_group = (block - le32_to_cpu(es->s_first_data_block)) / ext2_free_blocks()
517 bitmap_bh = read_block_bitmap(sb, block_group); ext2_free_blocks()
521 desc = ext2_get_group_desc (sb, block_group, &bh2); ext2_free_blocks()
539 if (!ext2_clear_bit_atomic(sb_bgl_lock(sbi, block_group), ext2_free_blocks()
552 group_adjust_blocks(sb, block_group, desc, bh2, group_freed); ext2_free_blocks()
1395 "block_group = %d, es == %p ", ret_block, ext2_new_blocks()
39 ext2_get_group_desc(struct super_block * sb, unsigned int block_group, struct buffer_head ** bh) ext2_get_group_desc() argument
73 ext2_valid_block_bitmap(struct super_block *sb, struct ext2_group_desc *desc, unsigned int block_group, struct buffer_head *bh) ext2_valid_block_bitmap() argument
H A Dext2.h117 sb_bgl_lock(struct ext2_sb_info *sbi, unsigned int block_group) sb_bgl_lock() argument
119 return bgl_lock_ptr(sbi->s_blockgroup_lock, block_group); sb_bgl_lock()
745 unsigned int block_group,
H A Dinode.c1244 unsigned long block_group; ext2_get_inode() local
1254 block_group = (ino - 1) / EXT2_INODES_PER_GROUP(sb); ext2_get_inode()
1255 gdp = ext2_get_group_desc(sb, block_group, NULL); ext2_get_inode()
/linux-4.4.14/fs/nilfs2/
H A Dmdt.h118 nilfs_mdt_bgl_lock(struct inode *inode, unsigned int block_group) nilfs_mdt_bgl_lock() argument
120 return bgl_lock_ptr(NILFS_MDT(inode)->mi_bgl, block_group); nilfs_mdt_bgl_lock()

Completed in 1725 milliseconds