btrfs: fix lost error handling when replaying directory deletes
authorFilipe Manana <fdmanana@suse.com>
Thu, 14 Oct 2021 16:26:04 +0000 (17:26 +0100)
committerDavid Sterba <dsterba@suse.com>
Tue, 26 Oct 2021 17:08:06 +0000 (19:08 +0200)
commit10adb1152d957a4d570ad630f93a88bb961616c1
treeb910f37d699adcdca903afcd16c0e33ce2c9eee7
parentf4f39fc5dc30d62625ad951b48dca2576f50768f
btrfs: fix lost error handling when replaying directory deletes

At replay_dir_deletes(), if find_dir_range() returns an error we break out
of the main while loop and then assign a value of 0 (success) to the 'ret'
variable, resulting in completely ignoring that an error happened. Fix
that by jumping to the 'out' label when find_dir_range() returns an error
(negative value).

CC: stable@vger.kernel.org # 4.4+
Reviewed-by: Josef Bacik <josef@toxicpanda.com>
Signed-off-by: Filipe Manana <fdmanana@suse.com>
Signed-off-by: David Sterba <dsterba@suse.com>
fs/btrfs/tree-log.c