On Tue, Jan 10, 2023 at 10:19:51AM -0500, Stefan Hajnoczi wrote: > 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. Does the virtio-blk device expowsed guest ABI differ at all when connected zoned_host_device instead of host_device ? > 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. What happens with existing QEMU impls if you use --blockdev host_device pointing to a /dev/$BDEV that is a zoned device ? If it succeeds and works correctly, then we likely need to continue to support that. This would push towards needing a new XML element. With regards, Daniel -- |: https://berrange.com -o- https://www.flickr.com/photos/dberrange :| |: https://libvirt.org -o- https://fstop138.berrange.com :| |: https://entangle-photo.org -o- https://www.instagram.com/dberrange :|