On 09/05/2015 05:54, phoeagon wrote: > zheq-PC sdb # time ~/qemu-sync-test/bin/qemu-img convert -f raw -t writeback > -O vdi /run/shm/rand 1.vdi > > real0m8.678s > user0m0.169s > sys0m0.500s > > zheq-PC sdb # time qemu-img convert -f raw -t writeback -O vdi /run/shm/rand > 1.vdi > real0m4.320s > user0m0.148s > sys0m0.471s
This means that 3.83 seconds are spent when bdrv_close() calls bdrv_flush(). That's the only difference between writeback and unsafe in qemu-img convert. The remaining part of the time (4.85 seconds instead of 0.49 seconds) means that, at least on your hardware, sequential writes to unallocated space become 10 times slower with your patch. Since the default qemu-img convert case isn't slowed down, I would think that correctness trumps performance. Nevertheless, it's a huge difference. Paolo > zheq-PC sdb # time qemu-img convert -f raw -t unsafe -O vdi /run/shm/rand > 1.vdi > real 0m0.489s > user 0m0.173s > sys 0m0.325s