Displaying 10 results from an estimated 10 matches for "do_async_commit".
2012 Aug 24
4
[PATCH] Btrfs: pass lockdep rwsem metadata to async commit transaction
...ank.com>
---
fs/btrfs/transaction.c | 16 ++++++++++++++++
1 files changed, 16 insertions(+), 0 deletions(-)
diff --git a/fs/btrfs/transaction.c b/fs/btrfs/transaction.c
index 17be3de..efc41a5 100644
--- a/fs/btrfs/transaction.c
+++ b/fs/btrfs/transaction.c
@@ -1228,6 +1228,14 @@ static void do_async_commit(struct work_struct *work)
struct btrfs_async_commit *ac =
container_of(work, struct btrfs_async_commit, work.work);
+ /*
+ * We''ve got freeze protection passed with the transaction.
+ * Tell lockdep about it.
+ */
+ rwsem_acquire_read(
+ &ac->root->fs_info->sb->s...
2012 Nov 15
0
[PATCH 2/2] Btrfs: use common work instead of delayed work
...b/fs/btrfs/transaction.c
@@ -1296,13 +1296,13 @@ static void wait_current_trans_commit_start_and_unblock(struct btrfs_root *root,
struct btrfs_async_commit {
struct btrfs_trans_handle *newtrans;
struct btrfs_root *root;
- struct delayed_work work;
+ struct work_struct work;
};
static void do_async_commit(struct work_struct *work)
{
struct btrfs_async_commit *ac =
- container_of(work, struct btrfs_async_commit, work.work);
+ container_of(work, struct btrfs_async_commit, work);
/*
* We''ve got freeze protection passed with the transaction.
@@ -1329,7 +1329,7 @@ int btrfs_commit_tr...
2010 Nov 19
1
Btrfs_truncate ?
...btrfs]
[69374.648248] [<ffffffffa0148064>] ? commit_fs_roots+0x8d/0xf4 [btrfs]
[69374.648258] [<ffffffffa01490aa>] ? btrfs_commit_transaction+0x34b/0x61f [btrfs]
[69374.648264] [<ffffffff81060101>] ? autoremove_wake_function+0x0/0x2a
[69374.648273] [<ffffffffa01495a1>] ? do_async_commit+0x0/0x1b [btrfs]
[69374.648282] [<ffffffffa01495b3>] ? do_async_commit+0x12/0x1b [btrfs]
[69374.648285] [<ffffffff8105b3e4>] ? process_one_work+0x1d1/0x2ee
[69374.648287] [<ffffffff8105ce09>] ? worker_thread+0x12d/0x247
[69374.648289] [<ffffffff8105ccdc>] ? worker_thread...
2011 Sep 10
12
WARNING: at fs/btrfs/inode.c:2193 btrfs_orphan_commit_root+0xb0/0xc0 [btrfs]()
...ansaction+0x3ef/0x870 [btrfs]
[ 5472.100065] [<ffffffff81012871>] ? __switch_to+0x261/0x2f0
[ 5472.100084] [<ffffffff81086bf0>] ? wake_up_bit+0x40/0x40
[ 5472.100120] [<ffffffffa0039af0>] ?
btrfs_commit_transaction+0x870/0x870 [btrfs]
[ 5472.100155] [<ffffffffa0039b0f>] do_async_commit+0x1f/0x30 [btrfs]
[ 5472.100171] [<ffffffff8108110d>] process_one_work+0x11d/0x430
[ 5472.100187] [<ffffffff81081c69>] worker_thread+0x169/0x360
[ 5472.100203] [<ffffffff81081b00>] ? manage_workers.clone.21+0x240/0x240
[ 5472.100220] [<ffffffff81086496>] kthread+0x96/0xa...
2013 Nov 06
0
[PATCH] Btrfs: fix lockdep error in async commit
...<miaox@cn.fujitsu.com>
---
fs/btrfs/transaction.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/fs/btrfs/transaction.c b/fs/btrfs/transaction.c
index 8c81bdc..c094f08 100644
--- a/fs/btrfs/transaction.c
+++ b/fs/btrfs/transaction.c
@@ -1453,7 +1453,7 @@ static void do_async_commit(struct work_struct *work)
* We''ve got freeze protection passed with the transaction.
* Tell lockdep about it.
*/
- if (ac->newtrans->type < TRANS_JOIN_NOLOCK)
+ if (ac->newtrans->type & __TRANS_FREEZABLE)
rwsem_acquire_read(
&ac->root->fs_in...
2011 Nov 09
12
WARNING: at fs/btrfs/inode.c:2198 btrfs_orphan_commit_root+0xa8/0xc0
...schedule+0x2fb/0x940
[ 3924.297845] [<ffffffff810a1f20>] ? refresh_cpu_vm_stats+0x150/0x150
[ 3924.297849] [<ffffffff81052840>] ? wake_up_bit+0x40/0x40
[ 3924.297858] [<ffffffffa012d040>] ?
btrfs_commit_transaction+0x7e0/0x7e0 [btrfs]
[ 3924.297868] [<ffffffffa012d05a>] do_async_commit+0x1a/0x30 [btrfs]
[ 3924.297873] [<ffffffff81350b70>] ? powersave_bias_target+0x170/0x170
[ 3924.297877] [<ffffffff8104e0bb>] process_one_work+0x10b/0x3d0
[ 3924.297880] [<ffffffff8104e7b6>] worker_thread+0x156/0x410
[ 3924.297884] [<ffffffff81029f59>] ? __wake_up_common...
2010 Mar 22
5
[PATCH 0/5] asynchronous commit, snapshot ponies
Hi everyone,
This patchset is the latest approach I''m using for the Ceph storage daemon to
keep track of which data has safely committed to disk. The basic idea is to
not use the (problematic) user transaction ioctls at all. Instead, the daemon
quiesces its own write requests, initiates an async snapshot, and then
continues.
The snapshot approach is nice because it provides rollback.
2011 Mar 23
0
[PATCH] Btrfs: cleanup some BUG_ON()
...root->fs_info->running_transaction;
cur_trans->use_count++;
@@ -1156,7 +1161,8 @@ int btrfs_commit_transaction_async(struc
struct btrfs_transaction *cur_trans;
ac = kmalloc(sizeof(*ac), GFP_NOFS);
- BUG_ON(!ac);
+ if (!ac)
+ return -ENOMEM;
INIT_DELAYED_WORK(&ac->work, do_async_commit);
ac->root = root;
diff -urNp linux-2.6.38/fs/btrfs/tree-log.c linux-2.6.38.new/fs/btrfs/tree-log.c
--- linux-2.6.38/fs/btrfs/tree-log.c 2011-03-15 10:20:32.000000000 +0900
+++ linux-2.6.38.new/fs/btrfs/tree-log.c 2011-03-23 11:28:09.000000000 +0900
@@ -1821,7 +1821,8 @@ static int walk_log_tr...
2010 Oct 25
14
[PATCH 0/6] Btrfs commit fixes, async subvol operations
Hi Chris,
This is the extent of my current queue of Btrfs snapshot/subvol/commit
stuff. Most of these were posted several months ago. Can be sent
upstream during this merge window? Not having this functionality is
becoming a bit of a roadblock for our efforts to keep the Ceph data in a
consistent state.
These patches are also available from
2012 Apr 20
44
Ceph on btrfs 3.4rc
...ransaction+0x5db/0xa50 [btrfs]
[87703.876745] [<ffffffff810127a3>] ? __switch_to+0x153/0x440
[87703.882966] [<ffffffff81070a90>] ? wake_up_bit+0x40/0x40
[87703.888997] [<ffffffffa0352040>] ?
btrfs_commit_transaction+0xa50/0xa50 [btrfs]
[87703.897271] [<ffffffffa035205f>] do_async_commit+0x1f/0x30 [btrfs]
[87703.904262] [<ffffffff81068949>] process_one_work+0x129/0x450
[87703.910777] [<ffffffff8106b7eb>] worker_thread+0x17b/0x3c0
[87703.916991] [<ffffffff8106b670>] ? manage_workers+0x220/0x220
[87703.923504] [<ffffffff810703fe>] kthread+0x9e/0xb0
[87703....