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:
parent
ed1b086a30
commit
ca1e04597a
|
@ -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;
|
||||||
|
|
Loading…
Reference in New Issue