/linux-4.4.14/fs/btrfs/ |
H A D | free-space-cache.h | 56 *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 D | free-space-cache.c | 96 *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 D | extent-tree.c | 147 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 D | relocation.c | 159 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 D | sysfs.c | 267 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 D | ctree.h | 723 __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 D | ioctl.c | 4146 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 D | balloc.c | 26 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 D | ialloc.c | 69 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 D | mballoc.c | 2766 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 D | ext4.h | 2051 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 D | super.c | 2030 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 D | inode.c | 3929 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 D | blockgroup_lock.h | 57 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 D | balloc.c | 55 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 D | btrfs.h | 815 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 D | ialloc.c | 40 * 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 D | balloc.c | 40 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 D | ext2.h | 117 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 D | inode.c | 1244 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 D | mdt.h | 118 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()
|