Displaying 3 results from an estimated 3 matches for "66e4c66".
2010 Oct 26
0
[PATCH v2] Btrfs: fix deadlock in btrfs_commit_transaction
...gned-off-by: Sage Weil <sage@newdream.net>
---
v2:
- add smp_mb() before waitqueue_active() check to clone another possible race
fs/btrfs/transaction.c | 13 +++++--------
1 files changed, 5 insertions(+), 8 deletions(-)
diff --git a/fs/btrfs/transaction.c b/fs/btrfs/transaction.c
index 66e4c66..b461fe3 100644
--- a/fs/btrfs/transaction.c
+++ b/fs/btrfs/transaction.c
@@ -392,6 +392,7 @@ static int __btrfs_end_transaction(struct btrfs_trans_handle *trans,
WARN_ON(cur_trans->num_writers < 1);
cur_trans->num_writers--;
+ smp_mb();
if (waitqueue_active(&cur_trans->writ...
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
2010 Sep 03
0
[PATCH 1/2] btrfs: document where we use BUG_ON instead of error handling
...@ -4269,6 +4269,6 @@ void btrfs_reloc_post_snapshot(struct btrfs_trans_handle *trans,
if (rc->create_reloc_tree) {
ret = clone_backref_node(trans, rc, root, reloc_root);
- BUG_ON(ret);
+ btrfs_fixable_bug_on(ret);
}
}
diff --git a/fs/btrfs/transaction.c b/fs/btrfs/transaction.c
index 66e4c66..8af7081 100644
--- a/fs/btrfs/transaction.c
+++ b/fs/btrfs/transaction.c
@@ -191,7 +191,7 @@ again:
wait_current_trans(root);
ret = join_transaction(root);
- BUG_ON(ret);
+ btrfs_fixable_bug_on(ret);
cur_trans = root->fs_info->running_transaction;
cur_trans->use_count++;
@@ -...