Browse Source

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>
Fengguang Wu 13 years ago
parent
commit
6209526531
1 changed files with 3 additions and 2 deletions
  1. 3 2
      fs/btrfs/delayed-inode.c

+ 3 - 2
fs/btrfs/delayed-inode.c

@@ -1028,9 +1028,10 @@ do_again:
 		btrfs_release_delayed_item(prev);
 		btrfs_release_delayed_item(prev);
 		ret = 0;
 		ret = 0;
 		btrfs_release_path(path);
 		btrfs_release_path(path);
-		if (curr)
+		if (curr) {
+			mutex_unlock(&node->mutex);
 			goto do_again;
 			goto do_again;
-		else
+		} else
 			goto delete_fail;
 			goto delete_fail;
 	}
 	}