All of lore.kernel.org
 help / color / mirror / Atom feed
From: chickenmarkus@freenet.de
To: kvm@vger.kernel.org
Subject: Re: Fwd: Discard is not working
Date: Fri, 07 Feb 2014 21:19:34 +0100	[thread overview]
Message-ID: <52F53FD6.80509@freenet.de> (raw)
In-Reply-To: <52F50BA3.10309@msgid.tls.msk.ru>

Hello,

I played around with raw images now.

Megasas is not supported by libvirt. The default controller crashs 
during installation while accessing to disk.

    qemu-system-x86_64:
    /build/qemu-j0uSxv/qemu-1.7.0+dfsg/hw/scsi/lsi53c895a.c:541:
    lsi_do_dma: Assertion `s->current' failed.

So I took Debian Testing (Jessie with kernel 3.12) to use virtio-scsi 
over following options.

    -device virtio-scsi-pci,id=scsi0,bus=pci.0,addr=0x4 \
    -drive
    file=/home/vm/trim.raw,if=none,id=drive-scsi0-0-0-0,format=raw,discard=unmap
    \
    -device
    scsi-hd,bus=scsi0.0,channel=0,scsi-id=0,lun=0,drive=drive-scsi0-0-0-0,id=scsi0-0-0-0,bootindex=2

Result of this: fstrim works.
Take a look into lsblk -D: DISC-ZERO=0? I read DISC-ZERO has to be "1" 
to propagate discard.

Switch back to my thin volume vm. DISC-ZERO=0 and fstrim works! Booting 
from old kernel 3.2 - works too.
LVM recognize the increasing of thin volume after discard.

Conclusion of my issues:
> Did I understand something wrong?
Yes!
Discard granularity (DISC-GRAN) of lsblk -D is the important number. It 
must not be "0B".

I did so much the last weeks. Maybe the error of fstrim occurs before 
getting thin volumes work.
Thanks a lot for your help (and hint to try it with an image)!

Bye Markus



Am 07.02.2014 17:36, schrieb Michael Tokarev:
> 07.02.2014 04:03, Paolo Bonzini wrote:
>> Michael, can you look at this?
>>
>> Paolo
>>
>> -------- Messaggio originale --------
>> From: chickenmarkus@freenet.de
>> To: kvm@vger.kernel.org
>>
>> Hello,
>>
>> after reading the "invitation" for some one-off questions without
>> subscribing excuse my disturbing, please.
>>
>> At first my setup of host:
>>
>>   * in general Debian Wheezy
>>   * Kernel: 3.11-0.bpo.2-amd64
>>
>> (http://packages.debian.org/wheezy-backports/linux-image-3.11-0.bpo.2-amd64)
>>   * LVM 2.02.98 (http://packages.debian.org/jessie/lvm2)
>>   * thin-provisioning-tools 0.2.8-1
>>     (http://packages.debian.org/jessie/thin-provisioning-tools)
>>   * Qemu-KVM: 1.7.0 (http://packages.debian.org/jessie/qemu-kvm)
>>
>> The new kernel and dirty things from Jessie are for working thin volumes
>> with discard on my ssd. Everything's fine up to this point.
>>
>> Afterwards I start a guest (also Debian Wheezy) over the following
>> command (over libvirt) as root (for test only):
>>
>>     kvm [...] -drive
>>
>> file=/dev/ssd0/sarabi,if=none,id=drive-scsi0-0-0-0,format=raw,discard=unmap -device
>> scsi-hd,bus=scsi0.0,channel=0,scsi-id=0,lun=0,drive=drive-scsi0-0-0-0,id=scsi0-0-0-0,bootindex=2
>>     [...]
>>
>> Neither lsblk -D nor the try of fstrim ends positive. Both say that
>> discard is not supported.
>> I read that guests need at least kernel 3.4 to support discard (and
>> virtio-scsi). But the same backports kernel 3.11 did not changed anything.
> This is the first time I tried to deal with discard.  I've no discard-capable
> hardware, so never bothered to even look how it works (or not).
>
> I fired up my sample linux guest here, using 3.10 kernel on host and 3.2 kernel
> on guest, using something similar to what your command looks like:
>
>   -device megasas,id=scsi0 \
>   -drive file=test.raw,if=none,id=sd0,discard=unmap \
>   -device scsi-hd,bus=scsi0.0,channel=0,scsi-id=0,lun=0,drive=sd0
>
> Note: this is a plain file (test.raw) on an ext4 filesystem on a device
> without discard support (regular rotational hard drive).
>
> In the guest, I can see discard granularity (4K) for that drive in lsblk -D
> output.
>
> fstrim does not error out, but I don't know if it actually does something or
> not.
>
> The same result can be observed with 3.10 kernel in guest, and with other
> scsi devices/drivers (eg lsi53c895a).
>
> However, when I export the same test.raw file using virtio, like this:
>
>   -drive file=test.raw,if=virtio,discard=unmap
>
> it doesn't work: guest does not see the virtio drive as discardable.
>
>> Did I understand something wrong? Is the command wrong? Are any
>> requirements not met?
> So I've no idea what's going on here... ;)
>
> Thanks,
>
> /mjt
>
> --
> To unsubscribe from this list: send the line "unsubscribe kvm" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html


  reply	other threads:[~2014-02-07 20:21 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-02-05 22:53 Discard is not working chickenmarkus
2014-02-07 15:51 ` Fwd: " chickenmarkus
     [not found] ` <52F422C2.9020509@redhat.com>
2014-02-07 16:36   ` Michael Tokarev
2014-02-07 20:19     ` chickenmarkus [this message]
2014-02-07 21:07     ` Paolo Bonzini

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=52F53FD6.80509@freenet.de \
    --to=chickenmarkus@freenet.de \
    --cc=kvm@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.