Contributed by Paul 'WEiRD' de Weerd on 2018-09-09 from the thinly provisioned dept.

In a short series of commits, Carlos Cardenas ( ccardenas@ ) added support for qcow2 image support to vmd(8). [This builds on an earlier commit adding support for pluggable disk backends.] The code was written by Ori Bernstein, who posted his diffs (thread 1, thread 2) to the tech@openbsd.org mailing list in August.

Carlos' first commit message for qcow2 contains a quick usage guide. Quoting from the that message:

Add initial qcow2 image support. Users are able to declare disk images as 'raw' or 'qcow2' using either vmctl and vm.conf. The default disk image format is 'raw' if not specified. Examples of using disk format: vmctl start bsd -Lc -r cd64.iso -d qcow2:current.qc2 or vmctl start bsd -Lc -r cd64.iso -d raw:current.raw is equivalent to vmctl start bsd -Lc -r cd64.iso -d current.raw in vm.conf vm "current" { disable memory 2G disk "/home/user/vmm/current.qc2" format "qcow2" interface { switch "external" } } or vm "current" { disable memory 2G disk "/home/user/vmm/current.raw" format "raw" interface { switch "external" } } is equivalent to vm "current" { disable memory 2G disk "/home/user/vmm/current.raw" interface { switch "external" } } Tested by many. Big Thanks to Ori Bernstein.

More details can of course be found in the vmctl(8) manpage.

Many thanks to Ori for his work on qcow2 support and to Carlos for committing this work!