Nowaday SCSI drivers in guests are able to align UNMAP requests before sending to the device. Right now QEMU provides an ability to set this via "discard_granularity" property of the block device which could be used by management layer.
Though, in particular, from the point of QEMU, there is pdiscard_granularity on the format driver level, f.e. on QCOW2 or iSCSI. It would be beneficial to pass this value as a default for this property. Technically this should reduce the amount of use less UNMAP requests from the guest to the host. Basic test confirms this. Fedora 31 guest during 'fstrim /' on 32 Gb disk has issued 401/415 requests with/without proper alignment to QEMU. Changes from v2: - 172 iotest fixed Changes from v1: - fixed typos in description - added machine type compatibility layer as suggested by Kevin Signed-off-by: Denis V. Lunev <[email protected]> CC: Kevin Wolf <[email protected]> CC: Max Reitz <[email protected]> CC: Eduardo Habkost <[email protected]> CC: Marcel Apfelbaum <[email protected]> CC: John Snow <[email protected]> CC: Paolo Bonzini <[email protected]> CC: Fam Zheng <[email protected]>
