search for: record_root_in_trans

Displaying 6 results from an estimated 6 matches for "record_root_in_trans".

2014 Aug 05
0
Stack dumps in use_block_rsv while rebalancing ("block rsv returned -28")
...0x2c0 [btrfs] [376007.682061] [<ffffffffa013a743>] create_reloc_root+0x1f3/0x2c0 [btrfs] [376007.682064] [<ffffffff811dd073>] ? generic_permission+0xf3/0x120 [376007.682073] [<ffffffffa0140eb8>] btrfs_init_reloc_root+0xb8/0xd0 [btrfs] [376007.682082] [<ffffffffa00ee967>] record_root_in_trans.part.30+0x97/0x100 [btrfs] [376007.682090] [<ffffffffa00ee9f4>] record_root_in_trans+0x24/0x30 [btrfs] [376007.682098] [<ffffffffa00efeb1>] btrfs_record_root_in_trans+0x51/0x80 [btrfs] [376007.682106] [<ffffffffa00f13d6>] start_transaction.part.35+0x86/0x560 [btrfs] [376007.682...
2012 Jul 31
0
[PATCH V2 1/2] Btrfs: fix error path in create_pending_snapshot()
...@ -999,10 +997,8 @@ static noinline int create_pending_snapshot(struct btrfs_trans_handle *trans, * snapshot */ ret = btrfs_run_delayed_items(trans, root); - if (ret) { /* Transaction aborted */ - dput(parent); - goto fail; - } + if (ret) /* Transaction aborted */ + goto abort_trans; record_root_in_trans(trans, root); btrfs_set_root_last_snapshot(&root->root_item, trans->transid); @@ -1021,7 +1017,7 @@ static noinline int create_pending_snapshot(struct btrfs_trans_handle *trans, if (ret) { btrfs_tree_unlock(old); free_extent_buffer(old); - goto abort_trans_dput; + goto abort_t...
2012 Sep 06
2
[PATCH V4 01/12] Btrfs: fix error path in create_pending_snapshot()
...-1038,10 +1035,8 @@ static noinline int create_pending_snapshot(struct btrfs_trans_handle *trans, * snapshot */ ret = btrfs_run_delayed_items(trans, root); - if (ret) { /* Transaction aborted */ - dput(parent); - goto fail; - } + if (ret) /* Transaction aborted */ + goto abort_trans; record_root_in_trans(trans, root); btrfs_set_root_last_snapshot(&root->root_item, trans->transid); @@ -1074,7 +1069,7 @@ static noinline int create_pending_snapshot(struct btrfs_trans_handle *trans, if (ret) { btrfs_tree_unlock(old); free_extent_buffer(old); - goto abort_trans_dput; + goto abort_t...
2011 Jun 21
19
[GIT PULL v3] Btrfs: improve write ahead log with sub transaction
I''ve been working to try to improve the write-ahead log''s performance, and I found that the bottleneck addresses in the checksum items, especially when we want to make a random write on a large file, e.g a 4G file. Then a idea for this suggested by Chris is to use sub transaction ids and just to log the part of inode that had changed since either the last log commit or the last
2009 Aug 24
0
[PATCH] Btrfs: proper metadata -ENOSPC handling
...cur_trans; + h->bytes_reserved = 0; + h->bytes_used = 0; h->block_group = 0; h->alloc_exclude_nr = 0; h->alloc_exclude_start = 0; h->delayed_ref_updates = 0; + h->use_count = 1; - root->fs_info->running_transaction->use_count++; + cur_trans->use_count++; record_root_in_trans(h, root); + + return ret; +} + +static struct btrfs_trans_handle *start_transaction(struct btrfs_root *root, + int num_items, int wait) +{ + struct btrfs_transaction *cur_trans; + struct btrfs_trans_handle *h; + u64 num_bytes = 0; + bool nested_trans = (current->journal_info); + bool co...
2010 Sep 03
0
[PATCH 1/2] btrfs: document where we use BUG_ON instead of error handling
...ixable_bug_on(ret); ret = pending_snapshot->error; if (ret) @@ -1288,7 +1288,7 @@ static noinline int btrfs_ioctl_snap_destroy(struct file *file, dest->root_key.objectid, dentry->d_name.name, dentry->d_name.len); - BUG_ON(ret); + btrfs_fixable_bug_on(ret); btrfs_record_root_in_trans(trans, dest); @@ -1301,11 +1301,11 @@ static noinline int btrfs_ioctl_snap_destroy(struct file *file, ret = btrfs_insert_orphan_item(trans, root->fs_info->tree_root, dest->root_key.objectid); - BUG_ON(ret); + btrfs_fixable_bug_on(ret); } ret = btrfs_commit_transact...