[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] Bug#757927: [qemu-kvm] TRIM (discard=unmap) broken in 2
From: |
Michael Tokarev |
Subject: |
Re: [Qemu-devel] Bug#757927: [qemu-kvm] TRIM (discard=unmap) broken in 2.1 |
Date: |
Wed, 13 Aug 2014 10:05:51 +0400 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Icedove/24.7.0 |
[This is http://bugs.debian.org/757927 -- trim stopped working in qemu 2.1]
12.08.2014 18:46, Michael Tokarev wrote:
> 12.08.2014 17:35, Roman Mamedov wrote:
>> Package: qemu-kvm
>> Version: 2.1+dfsg-2~bpo70+2
>> Severity: normal
>>
>> Hello,
>>
>> I was able to successfully use the passthrough TRIM support with an IDE
>> interface virtual disk in Qemu-KVM version 2.0.
>>
>> However after upgrading to 2.1 and restarting my VM, TRIM now fails in it
>> with
>> messages like those quoted below (dmesg from the guest). There are no
>> messages
>> in dmesg related to that on the host.
BTW, I found a system here with an SSD which supports discard, and tried my
guests against it -- everything works fine when I use sata/ahci, but it breaks
indeed when using the default IDE interface.
But applying the oneliner:
> It is the same as 2.1+dfsg-1~bpo70+2 but with a one-line patch
> added:
>
> diff --git a/hw/ide/core.c b/hw/ide/core.c
> index db191a6..7256592 100644
> --- a/hw/ide/core.c
> +++ b/hw/ide/core.c
> @@ -688,7 +688,8 @@ void ide_dma_cb(void *opaque, int ret)
> sector_num, n, s->dma_cmd);
> #endif
>
> - if (!ide_sect_range_ok(s, sector_num, n)) {
> + if ((s->dma_cmd == IDE_DMA_READ || s->dma_cmd == IDE_DMA_WRITE) &&
> + !ide_sect_range_ok(s, sector_num, n)) {
> dma_buf_commit(s);
> ide_dma_error(s);
> return;
fixes the prob for me. So apparently kwolf was right pointing to that
commit 58ac3211.
I'll upload a new version soon.
Thanks,
/mjt
- Re: [Qemu-devel] Bug#757927: [qemu-kvm] TRIM (discard=unmap) broken in 2.1,
Michael Tokarev <=