Lines Matching refs:bg

280 	struct btrfs_block_group_cache *bg;  in btrfs_inc_nocow_writers()  local
283 bg = btrfs_lookup_block_group(fs_info, bytenr); in btrfs_inc_nocow_writers()
284 if (!bg) in btrfs_inc_nocow_writers()
287 spin_lock(&bg->lock); in btrfs_inc_nocow_writers()
288 if (bg->ro) in btrfs_inc_nocow_writers()
291 atomic_inc(&bg->nocow_writers); in btrfs_inc_nocow_writers()
292 spin_unlock(&bg->lock); in btrfs_inc_nocow_writers()
296 btrfs_put_block_group(bg); in btrfs_inc_nocow_writers()
303 struct btrfs_block_group_cache *bg; in btrfs_dec_nocow_writers() local
305 bg = btrfs_lookup_block_group(fs_info, bytenr); in btrfs_dec_nocow_writers()
306 ASSERT(bg); in btrfs_dec_nocow_writers()
307 if (atomic_dec_and_test(&bg->nocow_writers)) in btrfs_dec_nocow_writers()
308 wake_up_var(&bg->nocow_writers); in btrfs_dec_nocow_writers()
313 btrfs_put_block_group(bg); in btrfs_dec_nocow_writers()
314 btrfs_put_block_group(bg); in btrfs_dec_nocow_writers()
317 void btrfs_wait_nocow_writers(struct btrfs_block_group_cache *bg) in btrfs_wait_nocow_writers() argument
319 wait_var_event(&bg->nocow_writers, !atomic_read(&bg->nocow_writers)); in btrfs_wait_nocow_writers()
325 struct btrfs_block_group_cache *bg; in btrfs_dec_block_group_reservations() local
327 bg = btrfs_lookup_block_group(fs_info, start); in btrfs_dec_block_group_reservations()
328 ASSERT(bg); in btrfs_dec_block_group_reservations()
329 if (atomic_dec_and_test(&bg->reservations)) in btrfs_dec_block_group_reservations()
330 wake_up_var(&bg->reservations); in btrfs_dec_block_group_reservations()
331 btrfs_put_block_group(bg); in btrfs_dec_block_group_reservations()
334 void btrfs_wait_block_group_reservations(struct btrfs_block_group_cache *bg) in btrfs_wait_block_group_reservations() argument
336 struct btrfs_space_info *space_info = bg->space_info; in btrfs_wait_block_group_reservations()
338 ASSERT(bg->ro); in btrfs_wait_block_group_reservations()
340 if (!(bg->flags & BTRFS_BLOCK_GROUP_DATA)) in btrfs_wait_block_group_reservations()
356 wait_var_event(&bg->reservations, !atomic_read(&bg->reservations)); in btrfs_wait_block_group_reservations()
1413 void btrfs_mark_bg_unused(struct btrfs_block_group_cache *bg) in btrfs_mark_bg_unused() argument
1415 struct btrfs_fs_info *fs_info = bg->fs_info; in btrfs_mark_bg_unused()
1418 if (list_empty(&bg->bg_list)) { in btrfs_mark_bg_unused()
1419 btrfs_get_block_group(bg); in btrfs_mark_bg_unused()
1420 trace_btrfs_add_unused_block_group(bg); in btrfs_mark_bg_unused()
1421 list_add_tail(&bg->bg_list, &fs_info->unused_bgs); in btrfs_mark_bg_unused()
1434 struct btrfs_block_group_item bg; in find_first_block_group() local
1478 read_extent_buffer(leaf, &bg, in find_first_block_group()
1480 sizeof(bg)); in find_first_block_group()
1481 flags = btrfs_block_group_flags(&bg) & in find_first_block_group()
1643 struct btrfs_block_group_cache *bg; in check_chunk_block_group_mappings() local
1659 bg = btrfs_lookup_block_group(fs_info, em->start); in check_chunk_block_group_mappings()
1660 if (!bg) { in check_chunk_block_group_mappings()
1668 if (bg->key.objectid != em->start || in check_chunk_block_group_mappings()
1669 bg->key.offset != em->len || in check_chunk_block_group_mappings()
1670 (bg->flags & BTRFS_BLOCK_GROUP_TYPE_MASK) != in check_chunk_block_group_mappings()
1676 bg->key.objectid, bg->key.offset, in check_chunk_block_group_mappings()
1677 bg->flags & BTRFS_BLOCK_GROUP_TYPE_MASK); in check_chunk_block_group_mappings()
1680 btrfs_put_block_group(bg); in check_chunk_block_group_mappings()
1685 btrfs_put_block_group(bg); in check_chunk_block_group_mappings()