2011-03-01 16:08:08

by Daniel J Blueman

[permalink] [raw]
Subject: [2.6.38-rc6, patch] fix delayed_refs locking on error path...

Correctly unlock delayed_refs in the error case.

Signed-off-by: Daniel J Blueman <[email protected]>

diff --git a/fs/btrfs/disk-io.c b/fs/btrfs/disk-io.c
index e1aa8d6..c48d699 100644
--- a/fs/btrfs/disk-io.c
+++ b/fs/btrfs/disk-io.c
@@ -2787,6 +2787,7 @@ static int btrfs_destroy_delayed_refs(struct
btrfs_transaction *trans,
spin_lock(&delayed_refs->lock);
if (delayed_refs->num_entries == 0) {
printk(KERN_INFO "delayed_refs has NO entry\n");
+ spin_unlock(&delayed_refs->lock);
return ret;
}

--
Daniel J Blueman