diff options
author | Chris Mason <clm@fb.com> | 2014-01-29 07:02:40 -0800 |
---|---|---|
committer | Chris Mason <clm@fb.com> | 2014-01-29 07:06:31 -0800 |
commit | cf93da7bcf450cb4595055d491a0519cb39e68ed (patch) | |
tree | 7c4f187c51baf3125b1b47ad0ef2ad1ee9c0efb9 | |
parent | 90d3e592e99b8e374ead2b45148abf506493a959 (diff) |
Btrfs: fix spin_unlock in check_ref_cleanup
Our goto out should have gone a little farther.
Signed-off-by: Chris Mason <clm@fb.com>
-rw-r--r-- | fs/btrfs/extent-tree.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/fs/btrfs/extent-tree.c b/fs/btrfs/extent-tree.c index 73b55d94b95..9c9ecc93ae2 100644 --- a/fs/btrfs/extent-tree.c +++ b/fs/btrfs/extent-tree.c @@ -5893,7 +5893,7 @@ static noinline int check_ref_cleanup(struct btrfs_trans_handle *trans, spin_lock(&delayed_refs->lock); head = btrfs_find_delayed_ref_head(trans, bytenr); if (!head) - goto out; + goto out_delayed_unlock; spin_lock(&head->lock); if (rb_first(&head->ref_root)) @@ -5942,6 +5942,8 @@ static noinline int check_ref_cleanup(struct btrfs_trans_handle *trans, return ret; out: spin_unlock(&head->lock); + +out_delayed_unlock: spin_unlock(&delayed_refs->lock); return 0; } |