Hello, I am attempting to enable discard support on the virtio-blk device on a QEMU VM however it isn't working. My understanding is that this is enabled in QEMU >= 4.0, so I am not sure why this isn't working:
Host OS: Ubuntu 20.04 (kernel 5.4.0) Guest OS: Ubuntu 18.04 (kernel 4.15.0) Guest config: <os> <type arch='x86_64' machine='pc-q35-4.2'>hvm</type> </os> <disk type='file' device='disk'> <driver name='qemu' type='qcow2' discard='unmap'/> <source file='/var/lib/libvirt/images/myvm.qcow2' index='1'/> <backingStore/> <target dev='vda' bus='virtio'/> <alias name='virtio-disk0'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x08' function='0x0'/> </disk> What are the values for machine type that will support discard on virtio-blk? Anything 4.0 or greater (e.g. would pc-i440fx-4.0 work too)? I can see from the host's perspective that the guest appears to have discard enabled because the following command shows "discard = true": # virsh qemu-monitor-command myvm --hmp info qtree | grep discard yet inside the VM, even with the "discard" mount option set: # for f in /sys/block/vda/queue/discard_*; do echo $f; cat $f; done /sys/block/vda/queue/discard_granularity 0 /sys/block/vda/queue/discard_max_bytes 0 /sys/block/vda/queue/discard_max_hw_bytes 0 /sys/block/vda/queue/discard_zeroes_data 0 Are the virtio drivers in the guest kernel too old to support discard on virtio-blk? Or is something else missing? Thanks, Andrew