Zoned storage support in libvirt

Stefan Hajnoczi stefanha at redhat.com
Tue Jan 10 15:19:51 UTC 2023


Hi Peter,
Zoned storage support
(https://zonedstorage.io/docs/introduction/zoned-storage) is being added
to QEMU. Given a zoned host block device, the QEMU syntax will look like
this:

  --blockdev zoned_host_device,node-name=drive0,filename=/dev/$BDEV,...
  --device virtio-blk-pci,drive=drive0

Note that regular --blockdev host_device will not work.

For now the virtio-blk device is the only one that supports zoned
blockdevs.

This brings to mind a few questions:

1. Does libvirt need domain XML syntax for zoned storage? Alternatively,
   it could probe /sys/block/$BDEV/queue/zoned and generate the correct
   QEMU command-line arguments for zoned devices when the contents of
   the file are not "none".

2. Should QEMU --blockdev host_device detected zoned devices so that
   --blockdev zoned_host_device is not necessary? That way libvirt would
   automatically support zoned storage without any domain XML syntax or
   libvirt code changes.

   The drawbacks I see when QEMU detects zoned storage automatically:
   - You can't easiy tell if a blockdev is zoned from the command-line.
   - It's possible to mismatch zoned and non-zoned devices across live
     migration.

We still have time to decide on the QEMU command-line syntax for QEMU
8.0, so I wanted to raise this now.

Thanks,
Stefan
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 488 bytes
Desc: not available
URL: <http://listman.redhat.com/archives/libvir-list/attachments/20230110/acd95070/attachment-0001.sig>


More information about the libvir-list mailing list