aboutsummaryrefslogtreecommitdiffstats
path: root/fs/btrfs
diff options
context:
space:
mode:
authorJosef Bacik <jbacik@fusionio.com>2013-06-10 11:52:32 -0400
committerJosef Bacik <jbacik@fusionio.com>2013-07-01 08:52:26 -0400
commitf971fe29b14eedd4abc389593b77fbdf94ac2d59 (patch)
treee292a533e72a4e036375ea7c4e04c630c665073e /fs/btrfs
parent3fb4037599a9f14b6c58e2a813aeb03bfa03dd8f (diff)
Btrfs: wake up delayed ref flushing waiters on abort
I hit a deadlock because we aborted when flushing delayed refs but didn't wake any of the other flushers up and so everybody was just sleeping forever. This should fix the problem. Thanks, Signed-off-by: Josef Bacik <jbacik@fusionio.com>
Diffstat (limited to 'fs/btrfs')
-rw-r--r--fs/btrfs/extent-tree.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/fs/btrfs/extent-tree.c b/fs/btrfs/extent-tree.c
index f84d53bc2f5d..ca1893edda52 100644
--- a/fs/btrfs/extent-tree.c
+++ b/fs/btrfs/extent-tree.c
@@ -2629,6 +2629,7 @@ again:
2629 spin_unlock(&delayed_refs->lock); 2629 spin_unlock(&delayed_refs->lock);
2630 btrfs_abort_transaction(trans, root, ret); 2630 btrfs_abort_transaction(trans, root, ret);
2631 atomic_dec(&delayed_refs->procs_running_refs); 2631 atomic_dec(&delayed_refs->procs_running_refs);
2632 wake_up(&delayed_refs->wait);
2632 return ret; 2633 return ret;
2633 } 2634 }
2634 2635