Btrfs: fix lock leak when resuming snapshot deletion
authorJosef Bacik <jbacik@fusionio.com>
Mon, 15 Jul 2013 16:41:42 +0000 (12:41 -0400)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sun, 4 Aug 2013 08:50:52 +0000 (16:50 +0800)
commit14e86565899d123a994d974560624b617d855ca8
tree44c6a6ff5f39bef7099265a041cb89c1587e98ff
parentdb60e49ae570b342d63f0bbda4d35b85a392da25
Btrfs: fix lock leak when resuming snapshot deletion

commit fec386ac1428f9c0e672df952cbca5cebd4e4e2f upstream.

We aren't setting path->locks[level] when we resume a snapshot deletion which
means we won't unlock the buffer when we free the path.  This causes deadlocks
if we happen to re-allocate the block before we've evicted the extent buffer
from cache.  Thanks,

Reported-by: Alex Lyakas <alex.btrfs@zadarastorage.com>
Signed-off-by: Josef Bacik <jbacik@fusionio.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
fs/btrfs/extent-tree.c