Searched refs:block_rsv (Results 1 - 14 of 14) sorted by relevance

/linux-4.4.14/fs/btrfs/
H A Ddelayed-inode.c558 src_rsv = trans->block_rsv; btrfs_delayed_item_reserve_metadata()
601 src_rsv = trans->block_rsv; btrfs_delayed_inode_reserve_metadata()
677 * block_rsv. This is to simplify people who don't normally have things btrfs_delayed_inode_reserve_metadata()
1168 struct btrfs_block_rsv *block_rsv; __btrfs_run_delayed_items() local
1180 block_rsv = trans->block_rsv; __btrfs_run_delayed_items()
1181 trans->block_rsv = &root->fs_info->delayed_block_rsv; __btrfs_run_delayed_items()
1204 trans->block_rsv = block_rsv; __btrfs_run_delayed_items()
1226 struct btrfs_block_rsv *block_rsv; btrfs_commit_inode_delayed_items() local
1247 block_rsv = trans->block_rsv; btrfs_commit_inode_delayed_items()
1248 trans->block_rsv = &delayed_node->root->fs_info->delayed_block_rsv; btrfs_commit_inode_delayed_items()
1254 trans->block_rsv = block_rsv; btrfs_commit_inode_delayed_items()
1264 struct btrfs_block_rsv *block_rsv; btrfs_commit_inode_delayed_inode() local
1291 block_rsv = trans->block_rsv; btrfs_commit_inode_delayed_inode()
1292 trans->block_rsv = &delayed_node->root->fs_info->delayed_block_rsv; btrfs_commit_inode_delayed_inode()
1303 trans->block_rsv = block_rsv; btrfs_commit_inode_delayed_inode()
1339 struct btrfs_block_rsv *block_rsv; btrfs_async_run_delayed_root() local
1364 block_rsv = trans->block_rsv; btrfs_async_run_delayed_root()
1365 trans->block_rsv = &root->fs_info->delayed_block_rsv; btrfs_async_run_delayed_root()
1369 trans->block_rsv = block_rsv; btrfs_async_run_delayed_root()
H A Dextent-tree.c109 static int block_rsv_use_bytes(struct btrfs_block_rsv *block_rsv,
4558 struct btrfs_block_rsv *block_rsv; shrink_delalloc() local
4574 block_rsv = &root->fs_info->delalloc_block_rsv; shrink_delalloc()
4575 space_info = block_rsv->space_info; shrink_delalloc()
4858 * reserve_metadata_bytes - try to reserve bytes from the block_rsv's space
4860 * @block_rsv - the block_rsv we're allocating for
4865 * with the block_rsv. If there is not enough space it will make an attempt to
4872 struct btrfs_block_rsv *block_rsv, reserve_metadata_bytes()
4876 struct btrfs_space_info *space_info = block_rsv->space_info; reserve_metadata_bytes()
5010 if (block_rsv != global_rsv && reserve_metadata_bytes()
5031 struct btrfs_block_rsv *block_rsv = NULL; get_block_rsv() local
5036 block_rsv = trans->block_rsv; get_block_rsv()
5038 if (!block_rsv) get_block_rsv()
5039 block_rsv = root->block_rsv; get_block_rsv()
5041 if (!block_rsv) get_block_rsv()
5042 block_rsv = &root->fs_info->empty_block_rsv; get_block_rsv()
5044 return block_rsv; get_block_rsv()
5047 static int block_rsv_use_bytes(struct btrfs_block_rsv *block_rsv, block_rsv_use_bytes() argument
5051 spin_lock(&block_rsv->lock); block_rsv_use_bytes()
5052 if (block_rsv->reserved >= num_bytes) { block_rsv_use_bytes()
5053 block_rsv->reserved -= num_bytes; block_rsv_use_bytes()
5054 if (block_rsv->reserved < block_rsv->size) block_rsv_use_bytes()
5055 block_rsv->full = 0; block_rsv_use_bytes()
5058 spin_unlock(&block_rsv->lock); block_rsv_use_bytes()
5062 static void block_rsv_add_bytes(struct btrfs_block_rsv *block_rsv, block_rsv_add_bytes() argument
5065 spin_lock(&block_rsv->lock); block_rsv_add_bytes()
5066 block_rsv->reserved += num_bytes; block_rsv_add_bytes()
5068 block_rsv->size += num_bytes; block_rsv_add_bytes()
5069 else if (block_rsv->reserved >= block_rsv->size) block_rsv_add_bytes()
5070 block_rsv->full = 1; block_rsv_add_bytes()
5071 spin_unlock(&block_rsv->lock); block_rsv_add_bytes()
5100 struct btrfs_block_rsv *block_rsv, block_rsv_release_bytes()
5103 struct btrfs_space_info *space_info = block_rsv->space_info; block_rsv_release_bytes()
5105 spin_lock(&block_rsv->lock); block_rsv_release_bytes()
5107 num_bytes = block_rsv->size; block_rsv_release_bytes()
5108 block_rsv->size -= num_bytes; block_rsv_release_bytes()
5109 if (block_rsv->reserved >= block_rsv->size) { block_rsv_release_bytes()
5110 num_bytes = block_rsv->reserved - block_rsv->size; block_rsv_release_bytes()
5111 block_rsv->reserved = block_rsv->size; block_rsv_release_bytes()
5112 block_rsv->full = 1; block_rsv_release_bytes()
5116 spin_unlock(&block_rsv->lock); block_rsv_release_bytes()
5166 struct btrfs_block_rsv *block_rsv; btrfs_alloc_block_rsv() local
5169 block_rsv = kmalloc(sizeof(*block_rsv), GFP_NOFS); btrfs_alloc_block_rsv()
5170 if (!block_rsv) btrfs_alloc_block_rsv()
5173 btrfs_init_block_rsv(block_rsv, type); btrfs_alloc_block_rsv()
5174 block_rsv->space_info = __find_space_info(fs_info, btrfs_alloc_block_rsv()
5176 return block_rsv; btrfs_alloc_block_rsv()
5194 struct btrfs_block_rsv *block_rsv, u64 num_bytes, btrfs_block_rsv_add()
5202 ret = reserve_metadata_bytes(root, block_rsv, num_bytes, flush); btrfs_block_rsv_add()
5204 block_rsv_add_bytes(block_rsv, num_bytes, 1); btrfs_block_rsv_add()
5212 struct btrfs_block_rsv *block_rsv, int min_factor) btrfs_block_rsv_check()
5217 if (!block_rsv) btrfs_block_rsv_check()
5220 spin_lock(&block_rsv->lock); btrfs_block_rsv_check()
5221 num_bytes = div_factor(block_rsv->size, min_factor); btrfs_block_rsv_check()
5222 if (block_rsv->reserved >= num_bytes) btrfs_block_rsv_check()
5224 spin_unlock(&block_rsv->lock); btrfs_block_rsv_check()
5230 struct btrfs_block_rsv *block_rsv, u64 min_reserved, btrfs_block_rsv_refill()
5236 if (!block_rsv) btrfs_block_rsv_refill()
5239 spin_lock(&block_rsv->lock); btrfs_block_rsv_refill()
5241 if (block_rsv->reserved >= num_bytes) btrfs_block_rsv_refill()
5244 num_bytes -= block_rsv->reserved; btrfs_block_rsv_refill()
5245 spin_unlock(&block_rsv->lock); btrfs_block_rsv_refill()
5250 ret = reserve_metadata_bytes(root, block_rsv, num_bytes, flush); btrfs_block_rsv_refill()
5252 block_rsv_add_bytes(block_rsv, num_bytes, 0); btrfs_block_rsv_refill()
5267 struct btrfs_block_rsv *block_rsv, btrfs_block_rsv_release()
5271 if (global_rsv == block_rsv || btrfs_block_rsv_release()
5272 block_rsv->space_info != global_rsv->space_info) btrfs_block_rsv_release()
5274 block_rsv_release_bytes(root->fs_info, block_rsv, global_rsv, btrfs_block_rsv_release()
5315 struct btrfs_block_rsv *block_rsv = &fs_info->global_block_rsv; update_global_block_rsv() local
5316 struct btrfs_space_info *sinfo = block_rsv->space_info; update_global_block_rsv()
5322 spin_lock(&block_rsv->lock); update_global_block_rsv()
5324 block_rsv->size = min_t(u64, num_bytes, 512 * 1024 * 1024); update_global_block_rsv()
5332 block_rsv->reserved += num_bytes; update_global_block_rsv()
5338 if (block_rsv->reserved >= block_rsv->size) { update_global_block_rsv()
5339 num_bytes = block_rsv->reserved - block_rsv->size; update_global_block_rsv()
5343 block_rsv->reserved = block_rsv->size; update_global_block_rsv()
5344 block_rsv->full = 1; update_global_block_rsv()
5347 spin_unlock(&block_rsv->lock); update_global_block_rsv()
5365 fs_info->extent_root->block_rsv = &fs_info->global_block_rsv; init_global_block_rsv()
5366 fs_info->csum_root->block_rsv = &fs_info->global_block_rsv; init_global_block_rsv()
5367 fs_info->dev_root->block_rsv = &fs_info->global_block_rsv; init_global_block_rsv()
5368 fs_info->tree_root->block_rsv = &fs_info->global_block_rsv; init_global_block_rsv()
5370 fs_info->quota_root->block_rsv = &fs_info->global_block_rsv; init_global_block_rsv()
5371 fs_info->chunk_root->block_rsv = &fs_info->chunk_block_rsv; init_global_block_rsv()
5393 if (!trans->block_rsv) btrfs_trans_release_metadata()
5401 btrfs_block_rsv_release(root, trans->block_rsv, trans->bytes_reserved); btrfs_trans_release_metadata()
5600 struct btrfs_block_rsv *block_rsv = &root->fs_info->delalloc_block_rsv; btrfs_delalloc_reserve_metadata() local
5664 ret = reserve_metadata_bytes(root, block_rsv, to_reserve, flush); btrfs_delalloc_reserve_metadata()
5685 block_rsv_add_bytes(block_rsv, to_reserve, 1); btrfs_delalloc_reserve_metadata()
5744 btrfs_block_rsv_release(root, block_rsv, to_free); btrfs_delalloc_reserve_metadata()
7868 struct btrfs_block_rsv *block_rsv; use_block_rsv() local
7873 block_rsv = get_block_rsv(trans, root); use_block_rsv()
7875 if (unlikely(block_rsv->size == 0)) use_block_rsv()
7878 ret = block_rsv_use_bytes(block_rsv, blocksize); use_block_rsv()
7880 return block_rsv; use_block_rsv()
7882 if (block_rsv->failfast) use_block_rsv()
7885 if (block_rsv->type == BTRFS_BLOCK_RSV_GLOBAL && !global_updated) { use_block_rsv()
7900 ret = reserve_metadata_bytes(root, block_rsv, blocksize, use_block_rsv()
7903 return block_rsv; use_block_rsv()
7909 if (block_rsv->type != BTRFS_BLOCK_RSV_GLOBAL && use_block_rsv()
7910 block_rsv->space_info == global_rsv->space_info) { use_block_rsv()
7919 struct btrfs_block_rsv *block_rsv, u32 blocksize) unuse_block_rsv()
7921 block_rsv_add_bytes(block_rsv, blocksize, 0); unuse_block_rsv()
7922 block_rsv_release_bytes(fs_info, block_rsv, NULL, 0); unuse_block_rsv()
7936 struct btrfs_block_rsv *block_rsv; btrfs_alloc_tree_block() local
7953 block_rsv = use_block_rsv(trans, root, blocksize); btrfs_alloc_tree_block()
7954 if (IS_ERR(block_rsv)) btrfs_alloc_tree_block()
7955 return ERR_CAST(block_rsv); btrfs_alloc_tree_block()
8011 unuse_block_rsv(root->fs_info, block_rsv, blocksize); btrfs_alloc_tree_block()
8782 struct btrfs_block_rsv *block_rsv, int update_ref, btrfs_drop_snapshot()
8817 if (block_rsv) btrfs_drop_snapshot()
8818 trans->block_rsv = block_rsv; btrfs_drop_snapshot()
8935 if (block_rsv) btrfs_drop_snapshot()
8936 trans->block_rsv = block_rsv; btrfs_drop_snapshot()
4871 reserve_metadata_bytes(struct btrfs_root *root, struct btrfs_block_rsv *block_rsv, u64 orig_bytes, enum btrfs_reserve_flush_enum flush) reserve_metadata_bytes() argument
5099 block_rsv_release_bytes(struct btrfs_fs_info *fs_info, struct btrfs_block_rsv *block_rsv, struct btrfs_block_rsv *dest, u64 num_bytes) block_rsv_release_bytes() argument
5193 btrfs_block_rsv_add(struct btrfs_root *root, struct btrfs_block_rsv *block_rsv, u64 num_bytes, enum btrfs_reserve_flush_enum flush) btrfs_block_rsv_add() argument
5211 btrfs_block_rsv_check(struct btrfs_root *root, struct btrfs_block_rsv *block_rsv, int min_factor) btrfs_block_rsv_check() argument
5229 btrfs_block_rsv_refill(struct btrfs_root *root, struct btrfs_block_rsv *block_rsv, u64 min_reserved, enum btrfs_reserve_flush_enum flush) btrfs_block_rsv_refill() argument
5266 btrfs_block_rsv_release(struct btrfs_root *root, struct btrfs_block_rsv *block_rsv, u64 num_bytes) btrfs_block_rsv_release() argument
7918 unuse_block_rsv(struct btrfs_fs_info *fs_info, struct btrfs_block_rsv *block_rsv, u32 blocksize) unuse_block_rsv() argument
8781 btrfs_drop_snapshot(struct btrfs_root *root, struct btrfs_block_rsv *block_rsv, int update_ref, int for_reloc) btrfs_drop_snapshot() argument
H A Dinode-map.c422 rsv = trans->block_rsv; btrfs_save_ino_cache()
423 trans->block_rsv = &root->fs_info->trans_block_rsv; btrfs_save_ino_cache()
434 ret = btrfs_block_rsv_add(root, trans->block_rsv, btrfs_save_ino_cache()
509 btrfs_block_rsv_release(root, trans->block_rsv, trans->bytes_reserved); btrfs_save_ino_cache()
511 trans->block_rsv = rsv; btrfs_save_ino_cache()
H A Dsysfs.c240 struct btrfs_block_rsv *block_rsv = &fs_info->global_block_rsv; global_rsv_size_show() local
241 return btrfs_show_u64(&block_rsv->size, &block_rsv->lock, buf); global_rsv_size_show()
249 struct btrfs_block_rsv *block_rsv = &fs_info->global_block_rsv; global_rsv_reserved_show() local
250 return btrfs_show_u64(&block_rsv->reserved, &block_rsv->lock, buf); global_rsv_reserved_show()
H A Dtransaction.c472 h->orig_rsv = h->block_rsv; start_transaction()
473 h->block_rsv = NULL; start_transaction()
563 h->block_rsv = &root->fs_info->trans_block_rsv; start_transaction()
621 trans->block_rsv = &root->fs_info->trans_block_rsv; btrfs_start_transaction_fallback_global_rsv()
803 trans->block_rsv = trans->orig_rsv; __btrfs_end_transaction()
808 trans->block_rsv = NULL; __btrfs_end_transaction()
829 trans->block_rsv = NULL; __btrfs_end_transaction()
1348 &pending->block_rsv, create_pending_snapshot()
1359 rsv = trans->block_rsv; create_pending_snapshot()
1360 trans->block_rsv = &pending->block_rsv; create_pending_snapshot()
1361 trans->bytes_reserved = trans->block_rsv->reserved; create_pending_snapshot()
1559 trans->block_rsv = rsv; create_pending_snapshot()
1834 trans->block_rsv = NULL; btrfs_commit_transaction()
2184 trans->block_rsv = NULL; btrfs_commit_transaction()
H A Dprops.c323 ret = btrfs_block_rsv_add(root, trans->block_rsv, inherit_props()
329 btrfs_block_rsv_release(root, trans->block_rsv, num_bytes); inherit_props()
H A Dtransaction.h116 struct btrfs_block_rsv *block_rsv; member in struct:btrfs_trans_handle
143 struct btrfs_block_rsv block_rsv; member in struct:btrfs_pending_snapshot
H A Drelocation.c165 struct btrfs_block_rsv *block_rsv; member in struct:reloc_control
1461 rsv = trans->block_rsv; btrfs_init_reloc_root()
1462 trans->block_rsv = rc->block_rsv; btrfs_init_reloc_root()
1467 trans->block_rsv = rsv; btrfs_init_reloc_root()
2167 ret = btrfs_block_rsv_refill(root, rc->block_rsv, min_reserved, merge_reloc_root()
2179 trans->block_rsv = rc->block_rsv; merge_reloc_root()
2283 ret = btrfs_block_rsv_add(root, rc->block_rsv, num_bytes, prepare_to_merge()
2293 rc->block_rsv, num_bytes); prepare_to_merge()
2301 rc->block_rsv, num_bytes); prepare_to_merge()
2404 ret = btrfs_drop_snapshot(reloc_root, rc->block_rsv, 0, 1); merge_reloc_roots()
2603 trans->block_rsv = rc->block_rsv; reserve_metadata_space()
2605 ret = btrfs_block_rsv_refill(root, rc->block_rsv, num_bytes, reserve_metadata_space()
2614 * only one thread can access block_rsv at this point, reserve_metadata_space()
2615 * so we don't need hold lock to protect block_rsv. reserve_metadata_space()
2620 rc->block_rsv->size = tmp + rc->extent_root->nodesize * reserve_metadata_space()
3873 rc->block_rsv = btrfs_alloc_block_rsv(rc->extent_root, prepare_to_relocate()
3875 if (!rc->block_rsv) prepare_to_relocate()
3884 rc->block_rsv->size = rc->extent_root->nodesize * prepare_to_relocate()
3931 rc->block_rsv, rc->block_rsv->size, relocate_block_group()
4079 btrfs_block_rsv_release(rc->extent_root, rc->block_rsv, (u64)-1); relocate_block_group()
4087 btrfs_block_rsv_release(rc->extent_root, rc->block_rsv, (u64)-1); relocate_block_group()
4096 btrfs_free_block_rsv(rc->extent_root, rc->block_rsv); relocate_block_group()
4644 ret = btrfs_block_rsv_migrate(&pending->block_rsv, btrfs_reloc_post_snapshot()
4645 rc->block_rsv, btrfs_reloc_post_snapshot()
H A Dioctl.c445 struct btrfs_block_rsv block_rsv; create_subvol() local
467 btrfs_init_block_rsv(&block_rsv, BTRFS_BLOCK_RSV_TEMP); create_subvol()
472 ret = btrfs_subvolume_reserve_metadata(root, &block_rsv, create_subvol()
480 btrfs_subvolume_release_metadata(root, &block_rsv, create_subvol()
484 trans->block_rsv = &block_rsv; create_subvol()
485 trans->bytes_reserved = block_rsv.size; create_subvol()
608 trans->block_rsv = NULL; create_subvol()
610 btrfs_subvolume_release_metadata(root, &block_rsv, qgroup_reserved); create_subvol()
678 btrfs_init_block_rsv(&pending_snapshot->block_rsv, create_snapshot()
689 &pending_snapshot->block_rsv, 8, create_snapshot()
742 &pending_snapshot->block_rsv, create_snapshot()
2341 struct btrfs_block_rsv block_rsv; btrfs_ioctl_snap_destroy() local
2453 btrfs_init_block_rsv(&block_rsv, BTRFS_BLOCK_RSV_TEMP); btrfs_ioctl_snap_destroy()
2458 err = btrfs_subvolume_reserve_metadata(root, &block_rsv, btrfs_ioctl_snap_destroy()
2468 trans->block_rsv = &block_rsv; btrfs_ioctl_snap_destroy()
2469 trans->bytes_reserved = block_rsv.size; btrfs_ioctl_snap_destroy()
2520 trans->block_rsv = NULL; btrfs_ioctl_snap_destroy()
2527 btrfs_subvolume_release_metadata(root, &block_rsv, qgroup_reserved); btrfs_ioctl_snap_destroy()
4274 struct btrfs_block_rsv *block_rsv = &root->fs_info->global_block_rsv; btrfs_ioctl_space_info() local
4276 spin_lock(&block_rsv->lock); btrfs_ioctl_space_info()
4277 space.total_bytes = block_rsv->size; btrfs_ioctl_space_info()
4278 space.used_bytes = block_rsv->size - block_rsv->reserved; btrfs_ioctl_space_info()
4279 spin_unlock(&block_rsv->lock); btrfs_ioctl_space_info()
H A Dinode.c278 trans->block_rsv = &root->fs_info->delalloc_block_rsv; cow_file_range_inline()
1273 trans->block_rsv = &root->fs_info->delalloc_block_rsv; run_delalloc_nocow()
2868 trans->block_rsv = &root->fs_info->delalloc_block_rsv; btrfs_finish_ordered_io()
2903 trans->block_rsv = &root->fs_info->delalloc_block_rsv; btrfs_finish_ordered_io()
3159 * files in the subvolume, it removes orphan item and frees block_rsv
3165 struct btrfs_block_rsv *block_rsv; btrfs_orphan_commit_root() local
3183 block_rsv = root->orphan_block_rsv; btrfs_orphan_commit_root()
3198 if (block_rsv) { btrfs_orphan_commit_root()
3199 WARN_ON(block_rsv->size > 0); btrfs_orphan_commit_root()
3200 btrfs_free_block_rsv(root, block_rsv); btrfs_orphan_commit_root()
3214 struct btrfs_block_rsv *block_rsv = NULL; btrfs_orphan_add() local
3220 block_rsv = btrfs_alloc_block_rsv(root, BTRFS_BLOCK_RSV_TEMP); btrfs_orphan_add()
3221 if (!block_rsv) btrfs_orphan_add()
3227 root->orphan_block_rsv = block_rsv; btrfs_orphan_add()
3228 } else if (block_rsv) { btrfs_orphan_add()
3229 btrfs_free_block_rsv(root, block_rsv); btrfs_orphan_add()
3230 block_rsv = NULL; btrfs_orphan_add()
5268 trans->block_rsv = rsv; btrfs_evict_inode()
5274 trans->block_rsv = &root->fs_info->trans_block_rsv; btrfs_evict_inode()
5287 trans->block_rsv = root->orphan_block_rsv; btrfs_evict_inode()
5293 trans->block_rsv = &root->fs_info->trans_block_rsv; btrfs_evict_inode()
8932 trans->block_rsv = rsv; btrfs_truncate()
8943 trans->block_rsv = &root->fs_info->trans_block_rsv; btrfs_truncate()
8963 trans->block_rsv = rsv; btrfs_truncate()
8967 trans->block_rsv = root->orphan_block_rsv; btrfs_truncate()
8974 trans->block_rsv = &root->fs_info->trans_block_rsv; btrfs_truncate()
H A Dsuper.c1976 struct btrfs_block_rsv *block_rsv = &fs_info->global_block_rsv; btrfs_statfs() local
2017 spin_lock(&block_rsv->lock);
2018 buf->f_bfree -= block_rsv->size >> bits;
2019 spin_unlock(&block_rsv->lock);
2043 if (total_free_meta - thresh < block_rsv->size)
H A Dfile.c2458 trans->block_rsv = rsv; btrfs_punch_hole()
2469 trans->block_rsv = &root->fs_info->trans_block_rsv; btrfs_punch_hole()
2501 trans->block_rsv = rsv; btrfs_punch_hole()
2517 trans->block_rsv = &root->fs_info->trans_block_rsv; btrfs_punch_hole()
2551 trans->block_rsv = &root->fs_info->trans_block_rsv; btrfs_punch_hole()
H A Dctree.h1867 struct btrfs_block_rsv *block_rsv; member in struct:btrfs_root
3537 struct btrfs_block_rsv *block_rsv, u64 num_bytes,
3540 struct btrfs_block_rsv *block_rsv, int min_factor);
3542 struct btrfs_block_rsv *block_rsv, u64 min_reserved,
3551 struct btrfs_block_rsv *block_rsv,
3703 struct btrfs_block_rsv *block_rsv,
H A Ddisk-io.c1236 root->block_rsv = NULL; __setup_root()

Completed in 431 milliseconds