From: Fengguang Wu <fengguang.wu@intel.com>
Date: Sat, 4 Aug 2012 07:45:02 +0000 (-0600)
Subject: btrfs: fix second lock in btrfs_delete_delayed_items()
X-Git-Tag: v3.6-rc4~6^2~14
X-Git-Url: https://www.infradead.org/git/?a=commitdiff_plain;h=6209526531e70c080f79318ab8f50e26846c40a8;p=users%2Fjedix%2Flinux-maple.git

btrfs: fix second lock in btrfs_delete_delayed_items()

Fix a real bug caught by coccinelle.

fs/btrfs/delayed-inode.c:1013:1-11: second lock on line 1013

Signed-off-by: Fengguang Wu <fengguang.wu@intel.com>
---

diff --git a/fs/btrfs/delayed-inode.c b/fs/btrfs/delayed-inode.c
index 335605c8ceab..00deed4ef3ed 100644
--- a/fs/btrfs/delayed-inode.c
+++ b/fs/btrfs/delayed-inode.c
@@ -1028,9 +1028,10 @@ do_again:
 		btrfs_release_delayed_item(prev);
 		ret = 0;
 		btrfs_release_path(path);
-		if (curr)
+		if (curr) {
+			mutex_unlock(&node->mutex);
 			goto do_again;
-		else
+		} else
 			goto delete_fail;
 	}