July 21, 20214 yr I ran across an article whose author claimed that on recent versions of qemu, discard=unmap was functional on virtio disks. So I did some testing. I have not run all permutations, but have tested: Unraid 6.9.2 UEFI and Seabios VMs Q35-5.1 and i440fx-5.1 VMs Windows 10 and Windows 11 with the latest virtio drivers, virtio-win-0.1.196.iso Ubuntu 21.4 raw and qcow2 vdisks vdisks on XFS and BTRFS disks vdisks with and without the copy-on-write attribute set In all cases, the virtio disk was functionally equivalent to a virtio-scsi disk. On file deletion, windows unmapped blocks immediately. Linux unmapped blocks after running fstrim. https://chrisirwin.ca/posts/discard-with-kvm-2020 Edited July 21, 20214 yr by aim60
May 11, 20242 yr Hello, Doesn't work for me Quote <emulator>/usr/local/sbin/qemu</emulator> <disk type='file' device='disk'> <driver name='qemu' type='raw' cache='writeback' discard='unmap'/> <source file='/mnt/user/domains/Gaming/vdisk1.img'/> <target dev='hdc' bus='virtio'/> <boot order='1'/> <address type='pci' domain='0x0000' bus='0x03' slot='0x00' function='0x0'/> </disk> Can you help me ? Edited May 11, 20242 yr by thymon
May 12, 20242 yr If you have the space copy the vdisk elsewhere, then copy back using cp --sparse=always, that will confirm if the vdisk growing is the problem.
November 24, 2025Nov 24 I believe it can work with some limitations if the image was created with -o preallocation=off (sparse), but it won't work as well and as efficiently as with a raw image.
November 24, 2025Nov 24 to understand better, I created the vm about a year ago, as a raw image, then converted to qcow2 for additional features, such as snapshots, now I activated discard unmap and did defragmentation but it is not working, I also tried to do cp sparse but without success, is there anything I can do?
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.