qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] ]PATCH 0/7] add TRIM/UNMAP support, v3


From: Kevin Wolf
Subject: Re: [Qemu-devel] ]PATCH 0/7] add TRIM/UNMAP support, v3
Date: Thu, 16 Dec 2010 16:43:20 +0100
User-agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.1.15) Gecko/20101027 Fedora/3.0.10-1.fc12 Thunderbird/3.0.10

Am 10.12.2010 16:00, schrieb Christoph Hellwig:
> This patchset adds support for the ATA TRIM and SCSI WRITE SAME with
> unmap commands, which allow reclaiming free space from a backing image.
> 
> The user facing implementation is pretty complete, but not really
> efficient because the underlying bdrv_discard implementation doesn't
> use the aio implementation yet.  The reason for that is that the SCSI
> layer doesn't really allow any asynchronous commands except for
> READ/WRITE by design, and implementing the ATA TRIM command with it's
> multiple ranges is rather painful, and combined with the SCSI limitation
> I didn't bother yet.  The only backend support so far is the XFS hole
> punching ioctl, but others can be added easily when they become
> available.  A virtio implementation for a discard command would also
> be pretty easy, but until we actually support a better backend then
> a plain sparse file it's not worth using for production enviroments
> anyway, but more for playing with the thin provisioning infrastructure,
> or observing guest behaviour when TRIM / unmap is supported.
> 
> If the support is enabled and the backend doesn't support hole punching
> the TRIM / WRITE SAME commands become no-ops so that migration from
> hosts supporting or not supporting it works.
> 
> Version 3:
>       - refactor IDE dma support code
>       - proper brace obsfucation
>       - fix compile without xfs headers
>       - use bool instead of int for a one-byte flag
> 
> Version 2:
>       - replace tabs with spaces
>       - return -ENOMEDIUM from bdrv_discard if there's no driver
>         assigned
>       - actually list the TP EVPD page as supported when querying
>         for supported EVPD pages

The SCSI changes seem to apply, but the rest conflicts with recent
changes, most notably AHCI. Can you rebase on top of the block branch?

I also found some minor things in the SCSI code, so I'll take the chance
to comment on them.

Kevin



reply via email to

[Prev in Thread] Current Thread [Next in Thread]