[Top][All Lists]
[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
- [Qemu-devel] [PATCH 2/7] scsi-disk: support WRITE SAME (16) with unmap bit, (continued)
- [Qemu-devel] [PATCH 2/7] scsi-disk: support WRITE SAME (16) with unmap bit, Christoph Hellwig, 2010/12/10
- [Qemu-devel] [PATCH 3/7] make dma_bdrv_io available to drivers, Christoph Hellwig, 2010/12/10
- [Qemu-devel] [PATCH 4/7] ide: factor dma handling helpers, Christoph Hellwig, 2010/12/10
- [Qemu-devel] [PATCH 5/7] ide: also reset io_buffer_index for writes, Christoph Hellwig, 2010/12/10
- [Qemu-devel] [PATCH 6/7] ide: add TRIM support, Christoph Hellwig, 2010/12/10
- [Qemu-devel] [PATCH 7/7] raw-posix: add discard support, Christoph Hellwig, 2010/12/10
- Re: [Qemu-devel] ]PATCH 0/7] add TRIM/UNMAP support, v3, Stefan Hajnoczi, 2010/12/12
- Re: [Qemu-devel] ]PATCH 0/7] add TRIM/UNMAP support, v3,
Kevin Wolf <=
- [Qemu-devel] Re: [PATCH 0/3] add TRIM/UNMAP support, v4, Christoph Hellwig, 2010/12/16