Displaying 15 results from an estimated 15 matches for "join_transaction".
Did you mean:
in_transaction
2011 Jun 08
1
[PATCH] Btrfs: use join_transaction in btrfs_evict_inode()
...iff --git a/fs/btrfs/inode.c b/fs/btrfs/inode.c
index 02ff4a1..4e9aa28 100644
--- a/fs/btrfs/inode.c
+++ b/fs/btrfs/inode.c
@@ -3646,7 +3646,7 @@ void btrfs_evict_inode(struct inode *inode)
btrfs_i_size_write(inode, 0);
while (1) {
- trans = btrfs_start_transaction(root, 0);
+ trans = btrfs_join_transaction(root);
BUG_ON(IS_ERR(trans));
trans->block_rsv = root->orphan_block_rsv;
-- 1.7.3.1
--
To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info....
2011 Sep 27
2
high CPU usage and low perf
...<ffffffffa032d201>] ? btrfs_find_ref_cluster+0xd/0x13c [btrfs]
[<ffffffffa02e9fd6>] ? btrfs_run_delayed_refs+0xd1/0x17c [btrfs]
[<ffffffffa02f8467>] ? btrfs_commit_transaction+0x38f/0x709 [btrfs]
[<ffffffff8136f6e6>] ? _raw_spin_lock+0xe/0x10
[<ffffffffa02f79fe>] ? join_transaction.clone.23+0xc1/0x200 [btrfs]
[<ffffffff81068ffb>] ? wake_up_bit+0x2a/0x2a
[<ffffffffa02f28fd>] ? transaction_kthread+0x175/0x22a [btrfs]
[<ffffffffa02f2788>] ? btrfs_congested_fn+0x86/0x86 [btrfs]
[<ffffffff81068b2c>] ? kthread+0x82/0x8a
[<ffffffff81376124>] ? kern...
2012 Nov 01
0
[PATCH 1/5] Btrfs: fix joining the same transaction handler more than 2 times
If we flush inodes with pending delalloc in a transaction, we may join
the same transaction handler more than 2 times.
The reason is:
Task use_count of trans handle
commit_transaction 1
|-> btrfs_start_delalloc_inodes 1
|-> run_delalloc_nocow 1
|-> join_transaction 2
|-> cow_file_range 2
|-> join_transaction 3
In fact, cow_file_range needn''t join the transaction again because the caller
have joined the transaction, so we fix this problem by this way.
Reported-by: Liu Bo <bo.li.liu@oracle.com>
Signed-off-by: Miao Xie <miaox@cn....
2011 Mar 23
0
[PATCH] Btrfs: cleanup some BUG_ON()
...t; 0)
goto out;
diff -urNp linux-2.6.38/fs/btrfs/transaction.c linux-2.6.38.new/fs/btrfs/transaction.c
--- linux-2.6.38/fs/btrfs/transaction.c 2011-03-15 10:20:32.000000000 +0900
+++ linux-2.6.38.new/fs/btrfs/transaction.c 2011-03-23 11:28:09.000000000 +0900
@@ -57,7 +57,8 @@ static noinline int join_transaction(str
if (!cur_trans) {
cur_trans = kmem_cache_alloc(btrfs_transaction_cachep,
GFP_NOFS);
- BUG_ON(!cur_trans);
+ if (!cur_trans)
+ return -ENOMEM;
root->fs_info->generation++;
cur_trans->num_writers = 1;
cur_trans->num_joined = 0;
@@ -195,7 +196,11 @@ again:...
2007 Aug 09
1
[RFC] All my fsync changes
...t_del_init(&transaction->list);
+ radix_tree_delete(&root->fs_info->transaction_map_radix,
+ (unsigned long)transaction->transid);
memset(transaction, 0, sizeof(*transaction));
kmem_cache_free(btrfs_transaction_cachep, transaction);
}
@@ -49,13 +52,15 @@ static int join_transaction(struct btrfs
struct btrfs_transaction *cur_trans;
cur_trans = root->fs_info->running_transaction;
if (!cur_trans) {
+ int ret;
cur_trans = kmem_cache_alloc(btrfs_transaction_cachep,
GFP_NOFS);
total_trans++;
BUG_ON(!cur_trans);
root->fs_info->generation++;...
2012 Jan 25
0
[3.2.1] kernel BUG at fs/btrfs/disk-io.c:2835!
...000000000001 ffff8800b4b378b8 ffff88011198dd08 ffff88011263fe80
ffff8801046a7400 ffff880105618540 ffff88011198dd78 ffff88011263fef8
Call Trace:
[<ffffffff811b469e>] write_ctree_super+0xe/0x10
[<ffffffff811b9778>] btrfs_commit_transaction+0x6a8/0x870
[<ffffffff811b8a8a>] ? join_transaction+0x24a/0x280
[<ffffffff810611f0>] ? wake_up_bit+0x40/0x40
[<ffffffff81195a57>] btrfs_sync_fs+0x47/0x70
[<ffffffff811029be>] __sync_filesystem+0x5e/0x90
[<ffffffff81102a53>] sync_filesystem+0x43/0x60
[<ffffffff810dc226>] generic_shutdown_super+0x36/0xe0
[<...
2009 Aug 24
0
[PATCH] Btrfs: proper metadata -ENOSPC handling
...en we pass 80% used in the metadata space.
Also, instead of doing a
trans = btrfs_start_transaction(root, 1);
btrfs_commit_transaction(trans, root);
You will want to do
btrfs_force_transacation_commit(root, 0);
This does not do any of the free space checks that btrfs_start_transaction or
btrfs_join_transaction does, since we expect to _only_ be committing the
transaction. This makes sure that we use the reserved space for committing the
transaction and don''t end up with ENOSPC being returned to the transaction
kthread.
This has been hammered on pretty well with various tests and seems to work...
2013 Jul 08
2
btrfs crashes
...l: [870100.614281]
[<ffffffffa01bb32e>] ? btrfs_run_delayed_refs+0x237/0x394 [btrfs]
Jun 25 17:02:25 hsad-srv-03 kernel: [870100.614296]
[<ffffffffa01c82ff>] ? btrfs_commit_transaction+0xaf/0x87a [btrfs]
Jun 25 17:02:25 hsad-srv-03 kernel: [870100.614310]
[<ffffffffa01c7365>] ? join_transaction.isra.29+0x314/0x31e [btrfs]
Jun 25 17:02:25 hsad-srv-03 kernel: [870100.614314]
[<ffffffff8105866b>] ? abort_exclusive_wait+0x79/0x79
Jun 25 17:02:25 hsad-srv-03 kernel: [870100.614329]
[<ffffffffa01c92cc>] ? start_transaction+0x325/0x44d [btrfs]
Jun 25 17:02:25 hsad-srv-03 kernel: [8...
2011 Jun 11
0
ext3 and btrfs various Oops and kernel BUGs
...ndir kernel: [40871.705822] [<ffffffffa0d77e38>] btrfs_run_delayed_refs+0xcc/0x17c [btrfs]
Jun 10 14:50:23 mithrandir kernel: [40871.705871] [<ffffffffa0d85775>] btrfs_commit_transaction+0x72/0x655 [btrfs]
Jun 10 14:50:23 mithrandir kernel: [40871.705920] [<ffffffffa0d84d89>] ? join_transaction.isra.23+0x203/0x20a [btrfs]
Jun 10 14:50:23 mithrandir kernel: [40871.705964] [<ffffffff810481d4>] ? add_wait_queue+0x44/0x44
Jun 10 14:50:23 mithrandir kernel: [40871.706006] [<ffffffffa0d80180>] transaction_kthread+0x174/0x22b [btrfs]
Jun 10 14:50:23 mithrandir kernel: [40871.706053...
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
2011 Nov 09
12
WARNING: at fs/btrfs/inode.c:2198 btrfs_orphan_commit_root+0xa8/0xc0
Hello,
I''m seeing a lot of warnings in dmesg with a BTRFS filesystem. I''m using
the 3.1 kernel, I found a patch for these warnings (
http://marc.info/?l=linux-btrfs&m=131547325515336&w=2)
<http://marc.info/?l=linux-btrfs&m=131547325515336&w=2>, but that patch
has already been included in 3.1. Are there any other patches I can try?
I''m using
2012 Dec 13
22
[PATCH] Btrfs: fix a deadlock on chunk mutex
An user reported that he has hit an annoying deadlock while playing with
ceph based on btrfs.
Current updating device tree requires space from METADATA chunk,
so we -may- need to do a recursive chunk allocation when adding/updating
dev extent, that is where the deadlock comes from.
If we use SYSTEM metadata to update device tree, we can avoid the recursive
stuff.
Reported-by: Jim Schutt
2010 Sep 03
0
[PATCH 1/2] btrfs: document where we use BUG_ON instead of error handling
...t > 0)
return -ENOENT;
- BUG_ON(ret);
+ btrfs_fixable_bug_on(ret);
generation = btrfs_root_generation(&root->root_item);
blocksize = btrfs_level_size(root, btrfs_root_level(&root->root_item));
@@ -1501,7 +1501,7 @@ static int transaction_kthread(void *arg)
trans = btrfs_join_transaction(root, 1);
if (transid == trans->transid) {
ret = btrfs_commit_transaction(trans, root);
- BUG_ON(ret);
+ btrfs_fixable_bug_on(ret);
} else {
btrfs_end_transaction(trans, root);
}
@@ -1954,20 +1954,20 @@ struct btrfs_root *open_ctree(struct super_block *sb,
block...
2012 Nov 01
41
[Request for review] [RFC] Add label support for snapshots and subvols
From: Anand Jain <anand.jain@oracle.com>
(This patch is for the review/test not yet for the integration).
Here is an implementation of the feature to add label to the
subvolume and snapshots. Which would help sysadmin to better manager
the subvol and snapshots.
This can be done in two ways, one - using attr which is user land
only changes but drawback is able to change the label
2011 Oct 06
26
[PATCH v0 00/18] btfs: Subvolume Quota Groups
This is a first draft of a subvolume quota implementation. It is possible
to limit subvolumes and any group of subvolumes and also to track the amount
of space that will get freed when deleting snapshots.
The current version is functionally incomplete, with the main missing feature
being the initial scan and rescan of an existing filesystem.
I put some effort into writing an introduction into