[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] Re: [PATCH 0/3] add TRIM/UNMAP support, v4
From: |
Christoph Hellwig |
Subject: |
[Qemu-devel] Re: [PATCH 0/3] add TRIM/UNMAP support, v4 |
Date: |
Thu, 16 Dec 2010 19:36:14 +0100 |
User-agent: |
Mutt/1.3.28i |
This patchset adds support for the SCSI WRITE SAME with unmap command,
which allows 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. The only support backend 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 WRITE SAME command becomes a no-op so that migration from
hosts supporting or not supporting it works.
Version 4:
- incorporate Kevin's review comments for the scsi patch
- update to the current block queue
- drop ide TRIM support, as it doesn't easily port to the
refactoring of the IDE code
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
- Re: [Qemu-devel] [PATCH 2/7] scsi-disk: support WRITE SAME (16) with unmap bit, (continued)
- [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, 2010/12/16
- [Qemu-devel] Re: [PATCH 0/3] add TRIM/UNMAP support, v4,
Christoph Hellwig <=