btrfs-progs: repair: remove recowed entry from the to-recow list

If we attempt to repair a filesystem with metadata blocks that need
recowing, we'll get into an infinite loop repeatedly recowing the
first entry in the list, without ever removing it from the list.
Oops.  Fixed.

Signed-off-by: Alexandre Oliva <oliva@gnu.org>
Signed-off-by: David Sterba <dsterba@suse.cz>
This commit is contained in:
Alexandre Oliva 2014-09-23 17:49:58 +02:00 committed by David Sterba
parent ed1b086a30
commit ca1e04597a
1 changed files with 1 additions and 0 deletions

View File

@ -7034,6 +7034,7 @@ int cmd_check(int argc, char **argv)
eb = list_first_entry(&root->fs_info->recow_ebs, eb = list_first_entry(&root->fs_info->recow_ebs,
struct extent_buffer, recow); struct extent_buffer, recow);
list_del_init(&eb->recow);
ret = recow_extent_buffer(root, eb); ret = recow_extent_buffer(root, eb);
if (ret) if (ret)
break; break;