summaryrefslogtreecommitdiffstats
path: root/fs
diff options
context:
space:
mode:
authorFengguang Wu <fengguang.wu@intel.com>2012-08-04 01:45:02 -0600
committerChris Mason <chris.mason@oracle.com>2012-08-28 16:53:31 -0400
commit6209526531e70c080f79318ab8f50e26846c40a8 (patch)
tree858c9086f1fc205d5b3e867adc5dae69650584a1 /fs
parentc329861da40623cd838b8c9ee31a850242fd88cf (diff)
downloadlinux-stable-6209526531e70c080f79318ab8f50e26846c40a8.tar.gz
linux-stable-6209526531e70c080f79318ab8f50e26846c40a8.tar.bz2
linux-stable-6209526531e70c080f79318ab8f50e26846c40a8.zip
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>
Diffstat (limited to 'fs')
-rw-r--r--fs/btrfs/delayed-inode.c5
1 files changed, 3 insertions, 2 deletions
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;
}