Corrupt qcow2 images with broken bitmap unfixable

Host environment

  • Operating system: AlmaLinux 9
  • OS/kernel version: 5.14.0-503.34.1.el9_5.x86_64
  • Architecture: x86_64
  • QEMU flavor: qemu-img
  • QEMU version: qemu-img-9.0.0-10.el9.2.1.x86_64

Description of problem

During a backup of a VM (via bitmaps), the disk of the VM/Snapshot went out of space. The VM was stopped, leaving the image in a bad state.

But now when trying to repair it, it was stuck:

# qemu-img check -r all /dev/mapper/e1d2ff33--c3fd--4c1a--bcd1--2047e4efc362-efbd8056--720a--47b6--bede--4325d576ffb9
qemu-img: Could not open '/dev/mapper/e1d2ff33--c3fd--4c1a--bcd1--2047e4efc362-efbd8056--720a--47b6--bede--4325d576ffb9': Bitmap '' doesn't satisfy the constraints

But if you want to remove the bitmap:

# qemu-img bitmap --remove /dev/mapper/e1d2ff33--c3fd--4c1a--bcd1--2047e4efc362-efbd8056--720a--47b6--bede--4325d576ffb9 ''
qemu-img: Could not open '/dev/mapper/e1d2ff33--c3fd--4c1a--bcd1--2047e4efc362-efbd8056--720a--47b6--bede--4325d576ffb9': qcow2: Image is corrupt; cannot be opened read/write

It seems like qemu-img check needs some option to clear invalid bitmaps. So the image can be repaired including dropping the invalid bitmap.

Assignee Loading
Time tracking Loading