btrfs: only unlock block in verify_parent_transid if we locked it

This is a regression from my patch a26e8c9f75, we
need to only unlock the block if we were the one who locked it.  Otherwise this
will trip BUG_ON()'s in locking.c  Thanks,

cc: stable@vger.kernel.org
Signed-off-by: Josef Bacik <jbacik@fb.com>
Signed-off-by: Chris Mason <clm@fb.com>
This commit is contained in:
Josef Bacik 2014-06-25 13:45:41 -07:00 committed by Chris Mason
parent 46c4e71e9b
commit 472b909ff6
1 changed files with 2 additions and 1 deletions

View File

@ -369,7 +369,8 @@ static int verify_parent_transid(struct extent_io_tree *io_tree,
out: out:
unlock_extent_cached(io_tree, eb->start, eb->start + eb->len - 1, unlock_extent_cached(io_tree, eb->start, eb->start + eb->len - 1,
&cached_state, GFP_NOFS); &cached_state, GFP_NOFS);
btrfs_tree_read_unlock_blocking(eb); if (need_lock)
btrfs_tree_read_unlock_blocking(eb);
return ret; return ret;
} }