Maybe someone out there will have some ideas.
I have a KVM host running wheezy, with wheezy-backports versions of libvirt and qemu. I have defined a guest, properly set discard=unmap in the domain XML file for it, verified that’s being passed to the guest, but TRIM/DISCARD is just not working.
Mounting the ext4 filesystem with discard has no effect, and fstrim / always reports:
fstrim: /: FITRIM ioctl failed: Operation not supported
Every single time.
I’ve tried with the virtio, IDE, and SCSI (both default and virtio-scsi) backend drivers. The guest is also running wheezy (i386 version; the host is amd64) and I’ve tried the latest 3.12 backported kernel for it. No dice.
If I shut down the VM and mount the filesystem on the host, fstrim works fine.
Everything says this should work. But it doesn’t.