Hi Markus,
AFAIK, mkfs.xfs tries to discard all the blocks before formatting the device.
If you don't want it to do that, you can use the "-K Do not attempt to discard blocks at mkfs time" option of mkfs.xfs.
In oVirt 4.1 we introduced the "Enable Discard" flag for a virtual machine's disk.
When enabled, qemu is configured to pass on live UNMAP SCSI commands from the guest to the underlying storage.
If you don't need live discarding, shutdown the VM and disable the "Enable Discard" option. That will cause qemu to ignore the live UNMAP SCSI commands coming from the guest and not pass it on to the underlying storage.
Note that this makes fstrim completely redundant, as the purpose of the command is to discard unused blocks under the given path.