Lines Matching refs:trans
45 static int init_first_rw_device(struct btrfs_trans_handle *trans,
1055 static int contains_pending_extent(struct btrfs_trans_handle *trans, in contains_pending_extent() argument
1060 struct list_head *search_list = &trans->transaction->pending_chunks; in contains_pending_extent()
1082 if (search_list == &trans->transaction->pending_chunks) { in contains_pending_extent()
1083 search_list = &trans->root->fs_info->pinned_chunks; in contains_pending_extent()
1111 int find_free_dev_extent(struct btrfs_trans_handle *trans, in find_free_dev_extent() argument
1196 if (contains_pending_extent(trans, device, in find_free_dev_extent()
1245 if (contains_pending_extent(trans, device, &search_start, in find_free_dev_extent()
1271 static int btrfs_free_dev_extent(struct btrfs_trans_handle *trans, in btrfs_free_dev_extent() argument
1291 ret = btrfs_search_slot(trans, root, &key, path, -1, 1); in btrfs_free_dev_extent()
1317 ret = btrfs_del_item(trans, root, path); in btrfs_free_dev_extent()
1322 trans->transaction->have_free_bgs = 1; in btrfs_free_dev_extent()
1329 static int btrfs_alloc_dev_extent(struct btrfs_trans_handle *trans, in btrfs_alloc_dev_extent() argument
1350 ret = btrfs_insert_empty_item(trans, root, path, &key, in btrfs_alloc_dev_extent()
1433 static int btrfs_add_device(struct btrfs_trans_handle *trans, in btrfs_add_device() argument
1454 ret = btrfs_insert_empty_item(trans, root, path, &key, in btrfs_add_device()
1511 struct btrfs_trans_handle *trans; in btrfs_rm_dev_item() local
1519 trans = btrfs_start_transaction(root, 0); in btrfs_rm_dev_item()
1520 if (IS_ERR(trans)) { in btrfs_rm_dev_item()
1522 return PTR_ERR(trans); in btrfs_rm_dev_item()
1528 ret = btrfs_search_slot(trans, root, &key, path, -1, 1); in btrfs_rm_dev_item()
1537 ret = btrfs_del_item(trans, root, path); in btrfs_rm_dev_item()
1542 btrfs_commit_transaction(trans, root); in btrfs_rm_dev_item()
2024 static int btrfs_finish_sprout(struct btrfs_trans_handle *trans, in btrfs_finish_sprout() argument
2047 ret = btrfs_search_slot(trans, root, &key, path, 0, 1); in btrfs_finish_sprout()
2099 struct btrfs_trans_handle *trans; in btrfs_init_new_device() local
2153 trans = btrfs_start_transaction(root, 0); in btrfs_init_new_device()
2154 if (IS_ERR(trans)) { in btrfs_init_new_device()
2157 ret = PTR_ERR(trans); in btrfs_init_new_device()
2165 device->generation = trans->transid; in btrfs_init_new_device()
2228 ret = init_first_rw_device(trans, root, device); in btrfs_init_new_device()
2231 btrfs_abort_transaction(trans, root, ret); in btrfs_init_new_device()
2236 ret = btrfs_add_device(trans, root, device); in btrfs_init_new_device()
2238 btrfs_abort_transaction(trans, root, ret); in btrfs_init_new_device()
2245 ret = btrfs_finish_sprout(trans, root); in btrfs_init_new_device()
2247 btrfs_abort_transaction(trans, root, ret); in btrfs_init_new_device()
2262 ret = btrfs_commit_transaction(trans, root); in btrfs_init_new_device()
2277 trans = btrfs_attach_transaction(root); in btrfs_init_new_device()
2278 if (IS_ERR(trans)) { in btrfs_init_new_device()
2279 if (PTR_ERR(trans) == -ENOENT) in btrfs_init_new_device()
2281 return PTR_ERR(trans); in btrfs_init_new_device()
2283 ret = btrfs_commit_transaction(trans, root); in btrfs_init_new_device()
2291 btrfs_end_transaction(trans, root); in btrfs_init_new_device()
2411 static noinline int btrfs_update_device(struct btrfs_trans_handle *trans, in btrfs_update_device() argument
2431 ret = btrfs_search_slot(trans, root, &key, path, 0, 1); in btrfs_update_device()
2459 int btrfs_grow_device(struct btrfs_trans_handle *trans, in btrfs_grow_device() argument
2494 return btrfs_update_device(trans, device); in btrfs_grow_device()
2497 static int btrfs_free_chunk(struct btrfs_trans_handle *trans, in btrfs_free_chunk() argument
2514 ret = btrfs_search_slot(trans, root, &key, path, -1, 1); in btrfs_free_chunk()
2524 ret = btrfs_del_item(trans, root, path); in btrfs_free_chunk()
2581 int btrfs_remove_chunk(struct btrfs_trans_handle *trans, in btrfs_remove_chunk() argument
2616 ret = btrfs_free_dev_extent(trans, device, in btrfs_remove_chunk()
2620 btrfs_abort_transaction(trans, root, ret); in btrfs_remove_chunk()
2636 ret = btrfs_update_device(trans, map->stripes[i].dev); in btrfs_remove_chunk()
2638 btrfs_abort_transaction(trans, root, ret); in btrfs_remove_chunk()
2643 ret = btrfs_free_chunk(trans, root, chunk_objectid, chunk_offset); in btrfs_remove_chunk()
2645 btrfs_abort_transaction(trans, root, ret); in btrfs_remove_chunk()
2654 btrfs_abort_transaction(trans, root, ret); in btrfs_remove_chunk()
2659 ret = btrfs_remove_block_group(trans, extent_root, chunk_offset, em); in btrfs_remove_chunk()
2661 btrfs_abort_transaction(trans, extent_root, ret); in btrfs_remove_chunk()
2676 struct btrfs_trans_handle *trans; in btrfs_relocate_chunk() local
2691 trans = btrfs_start_transaction(root, 0); in btrfs_relocate_chunk()
2692 if (IS_ERR(trans)) { in btrfs_relocate_chunk()
2693 ret = PTR_ERR(trans); in btrfs_relocate_chunk()
2702 ret = btrfs_remove_chunk(trans, root, chunk_offset); in btrfs_relocate_chunk()
2703 btrfs_end_transaction(trans, root); in btrfs_relocate_chunk()
2780 struct btrfs_trans_handle *trans; in insert_balance_item() local
2792 trans = btrfs_start_transaction(root, 0); in insert_balance_item()
2793 if (IS_ERR(trans)) { in insert_balance_item()
2795 return PTR_ERR(trans); in insert_balance_item()
2802 ret = btrfs_insert_empty_item(trans, root, path, &key, in insert_balance_item()
2824 err = btrfs_commit_transaction(trans, root); in insert_balance_item()
2832 struct btrfs_trans_handle *trans; in del_balance_item() local
2841 trans = btrfs_start_transaction(root, 0); in del_balance_item()
2842 if (IS_ERR(trans)) { in del_balance_item()
2844 return PTR_ERR(trans); in del_balance_item()
2851 ret = btrfs_search_slot(trans, root, &key, path, -1, 1); in del_balance_item()
2859 ret = btrfs_del_item(trans, root, path); in del_balance_item()
2862 err = btrfs_commit_transaction(trans, root); in del_balance_item()
3151 struct btrfs_trans_handle *trans; in __btrfs_balance() local
3178 trans = btrfs_start_transaction(dev_root, 0); in __btrfs_balance()
3179 BUG_ON(IS_ERR(trans)); in __btrfs_balance()
3181 ret = btrfs_grow_device(trans, device, old_size); in __btrfs_balance()
3184 btrfs_end_transaction(trans, dev_root); in __btrfs_balance()
3707 struct btrfs_trans_handle *trans = NULL; in btrfs_uuid_scan_kthread() local
3751 if (trans) in btrfs_uuid_scan_kthread()
3759 trans = btrfs_start_transaction(fs_info->uuid_root, 2); in btrfs_uuid_scan_kthread()
3760 if (IS_ERR(trans)) { in btrfs_uuid_scan_kthread()
3761 ret = PTR_ERR(trans); in btrfs_uuid_scan_kthread()
3770 ret = btrfs_uuid_tree_add(trans, fs_info->uuid_root, in btrfs_uuid_scan_kthread()
3782 ret = btrfs_uuid_tree_add(trans, fs_info->uuid_root, in btrfs_uuid_scan_kthread()
3794 if (trans) { in btrfs_uuid_scan_kthread()
3795 ret = btrfs_end_transaction(trans, fs_info->uuid_root); in btrfs_uuid_scan_kthread()
3796 trans = NULL; in btrfs_uuid_scan_kthread()
3819 if (trans && !IS_ERR(trans)) in btrfs_uuid_scan_kthread()
3820 btrfs_end_transaction(trans, fs_info->uuid_root); in btrfs_uuid_scan_kthread()
3895 struct btrfs_trans_handle *trans; in btrfs_create_uuid_tree() local
3905 trans = btrfs_start_transaction(tree_root, 2); in btrfs_create_uuid_tree()
3906 if (IS_ERR(trans)) in btrfs_create_uuid_tree()
3907 return PTR_ERR(trans); in btrfs_create_uuid_tree()
3909 uuid_root = btrfs_create_tree(trans, fs_info, in btrfs_create_uuid_tree()
3912 btrfs_abort_transaction(trans, tree_root, in btrfs_create_uuid_tree()
3919 ret = btrfs_commit_transaction(trans, tree_root); in btrfs_create_uuid_tree()
3958 struct btrfs_trans_handle *trans; in btrfs_shrink_device() local
4062 trans = btrfs_start_transaction(root, 0); in btrfs_shrink_device()
4063 if (IS_ERR(trans)) { in btrfs_shrink_device()
4064 ret = PTR_ERR(trans); in btrfs_shrink_device()
4079 ret = btrfs_update_device(trans, device); in btrfs_shrink_device()
4080 btrfs_end_transaction(trans, root); in btrfs_shrink_device()
4217 static int __btrfs_alloc_chunk(struct btrfs_trans_handle *trans, in __btrfs_alloc_chunk() argument
4332 ret = find_free_dev_extent(trans, device, in __btrfs_alloc_chunk()
4466 list_add_tail(&em->list, &trans->transaction->pending_chunks); in __btrfs_alloc_chunk()
4475 ret = btrfs_make_block_group(trans, extent_root, 0, type, in __btrfs_alloc_chunk()
4513 int btrfs_finish_chunk_alloc(struct btrfs_trans_handle *trans, in btrfs_finish_chunk_alloc() argument
4564 ret = btrfs_update_device(trans, device); in btrfs_finish_chunk_alloc()
4567 ret = btrfs_alloc_dev_extent(trans, device, in btrfs_finish_chunk_alloc()
4601 ret = btrfs_insert_item(trans, chunk_root, &key, chunk, item_size); in btrfs_finish_chunk_alloc()
4624 int btrfs_alloc_chunk(struct btrfs_trans_handle *trans, in btrfs_alloc_chunk() argument
4631 return __btrfs_alloc_chunk(trans, extent_root, chunk_offset, type); in btrfs_alloc_chunk()
4634 static noinline int init_first_rw_device(struct btrfs_trans_handle *trans, in init_first_rw_device() argument
4647 ret = __btrfs_alloc_chunk(trans, extent_root, chunk_offset, in init_first_rw_device()
4654 ret = __btrfs_alloc_chunk(trans, extent_root, sys_chunk_offset, in init_first_rw_device()
6510 static int update_dev_stat_item(struct btrfs_trans_handle *trans, in update_dev_stat_item() argument
6527 ret = btrfs_search_slot(trans, dev_root, &key, path, -1, 1); in update_dev_stat_item()
6538 ret = btrfs_del_item(trans, dev_root, path); in update_dev_stat_item()
6551 ret = btrfs_insert_empty_item(trans, dev_root, path, in update_dev_stat_item()
6576 int btrfs_run_dev_stats(struct btrfs_trans_handle *trans, in btrfs_run_dev_stats() argument
6591 ret = update_dev_stat_item(trans, dev_root, device); in btrfs_run_dev_stats()