On 10/05/16 21:47, Denis V. Lunev wrote:
> On 10/05/2016 09:55 PM, Laszlo Ersek wrote:
>> On 10/03/16 16:01, Denis V. Lunev wrote:
>>> Unfortunately, there is no public Windows API to start trimming the
>>> filesystem. The only viable way here is to call 'defrag.exe /L' for
>>> each volume.
>>>
>>> This is working since Win8 and Win2k12.
>>>
>>> Signed-off-by: Denis V. Lunev <d...@openvz.org>
>>> Signed-off-by: Denis Plotnikov <dplotni...@virtuozzo.com>
>>> CC: Michael Roth <mdr...@linux.vnet.ibm.com>
>>> CC: Stefan Weil <s...@weilnetz.de>
>>> CC: Marc-André Lureau <marcandre.lur...@gmail.com>
>>> ---
>>>  qga/commands-win32.c | 97 
>>> ++++++++++++++++++++++++++++++++++++++++++++++++++--
>>>  1 file changed, 94 insertions(+), 3 deletions(-)
>> Just to educate myself (really, you can ignore my question as "review
>> comment", because it's not one): why is this necessary? In Windows 8 and
>> Windows Server 2012 R2, simply putting your NTFS filesystem on a SCSI
>> disk (such as virtio-scsi-pci / scsi-hd) or AHCI, and specifying
>> discard=on for the -drive, will result in the guest automatically
>> trimming the NTFS (with a little delay) after deleting files, and the
>> host getting those blocks back.
> The same as for Linux. But if the one exact block has been freed
> by half at one operation and by another half in the different operation
> as far as I could understand it will not be freed.
> 
> This patch implements the ability to trim all the disc as done for Linux
> to go over all the disc and discard all possible areas. I think that this
> would be useful f.e. to prepare template images.

Thank you for explaining. And, now I've learned about "defrag /L" too :)

Cheers
Laszlo


Reply via email to