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:
5cf1ab5
)
Btrfs: double unlock bug in error handling
author
Dan Carpenter
<dan.carpenter@oracle.com>
Wed, 18 Apr 2012 06:59:03 +0000
(09:59 +0300)
committer
David Sterba
<dsterba@suse.cz>
Wed, 18 Apr 2012 17:22:31 +0000
(19:22 +0200)
The caller expects this function to return with the lock held and
releases it immediately on error.
Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
fs/btrfs/extent-tree.c
patch
|
blob
|
history
diff --git
a/fs/btrfs/extent-tree.c
b/fs/btrfs/extent-tree.c
index 2b35f8d14bb9a14c7f1539268dce04973413512f..a0bb9dcd3c360438fbb292f79a36d6338d84c8da 100644
(file)
--- a/
fs/btrfs/extent-tree.c
+++ b/
fs/btrfs/extent-tree.c
@@
-2301,6
+2301,7
@@
static noinline int run_clustered_refs(struct btrfs_trans_handle *trans,
if (ret) {
printk(KERN_DEBUG "btrfs: run_delayed_extent_op returned %d\n", ret);
+ spin_lock(&delayed_refs->lock);
return ret;
}
@@
-2331,6
+2332,7
@@
static noinline int run_clustered_refs(struct btrfs_trans_handle *trans,
if (ret) {
printk(KERN_DEBUG "btrfs: run_one_delayed_ref returned %d\n", ret);
+ spin_lock(&delayed_refs->lock);
return ret;
}