Skip to content

qemu breaks vmdk larger than 600GB.

Host environment

  • Operating system: ubuntu 22.04
  • OS/kernel version: 6.2.0-34-generic
  • Architecture: x86
  • QEMU flavor: qemu-nbd
  • QEMU version: master qemu-nbd 8.1.50 (v8.1.0-1353-g2f3913f4)
  • QEMU command line:

Description of problem

The vmdk larger than 600G is corrupted after an edit by qemu-nbd. If I open the corrupted vmdk file, I find an extra ^@ byte.

RW 4194304 SPARSE "disk-s289.vmdk"
RW 4^@94304 SPARSE "disk-s290.vmdk"
RW 4194304 SPARSE "disk-s291.vmdk"

Steps to reproduce

qemu-img create -f vmdk -o subformat=twoGbMaxExtentSparse disk.vmdk 1T
sudo qemu-nbd -c /dev/nbd0 disk.vmdk
sudo mkfs.btrfs /dev/nbd0
sudo qemu-nbd -d /dev/nbd0
qemu-img info disk.vmdk | head

Additional information

Edited by Yang Feng
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information