Skip to contentSkip to conversation

btrfs: fix second lock in btrfs_delete_delayed_items()

PATCH New Fengguang Wu 1 participant 1 message Aug 4, 2012 Btrfs file system

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 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

---
 fs/btrfs/delayed-inode.c |    5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)
fs/btrfs/delayed-inode.c +3 -2
@@ -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;
 	}