projects
/
openwrt
/
staging
/
blogic.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
3fb4037
)
Btrfs: wake up delayed ref flushing waiters on abort
author
Josef Bacik
<jbacik@fusionio.com>
Mon, 10 Jun 2013 15:52:32 +0000
(11:52 -0400)
committer
Josef Bacik
<jbacik@fusionio.com>
Mon, 1 Jul 2013 12:52:26 +0000
(08:52 -0400)
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>
fs/btrfs/extent-tree.c
patch
|
blob
|
history
diff --git
a/fs/btrfs/extent-tree.c
b/fs/btrfs/extent-tree.c
index f84d53bc2f5d4ad397f866d8f60a9da7c671ab6a..ca1893edda523a6dc765a1818bb22c6570bb7b9d 100644
(file)
--- a/
fs/btrfs/extent-tree.c
+++ b/
fs/btrfs/extent-tree.c
@@
-2629,6
+2629,7
@@
again:
spin_unlock(&delayed_refs->lock);
btrfs_abort_transaction(trans, root, ret);
atomic_dec(&delayed_refs->procs_running_refs);
+ wake_up(&delayed_refs->wait);
return ret;
}