From: Stanislaw Gruszka <sgrus...@redhat.com> Upstream commit 38e3eebff643 ("btrfs: honor path->skip_locking in backref code") was incorrectly backported to 4.14.y . It misses removal of two lines from original commit, what cause deadlock.
Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=203993 Reported-by: Olivier Mazouffre <olivier.mazouf...@ims-bordeaux.fr> Fixes: d819d97ea025 ("btrfs: honor path->skip_locking in backref code") Signed-off-by: Stanislaw Gruszka <sgrus...@redhat.com> Reviewed-by: Nikolay Borisov <nbori...@suse.com> Signed-off-by: Greg Kroah-Hartman <gre...@linuxfoundation.org> --- fs/btrfs/backref.c | 2 -- 1 file changed, 2 deletions(-) --- a/fs/btrfs/backref.c +++ b/fs/btrfs/backref.c @@ -1290,8 +1290,6 @@ again: ret = -EIO; goto out; } - btrfs_tree_read_lock(eb); - btrfs_set_lock_blocking_rw(eb, BTRFS_READ_LOCK); if (!path->skip_locking) { btrfs_tree_read_lock(eb); btrfs_set_lock_blocking_rw(eb, BTRFS_READ_LOCK);