All of lore.kernel.org
 help / color / mirror / Atom feed
From: Michael Tokarev <mjt@tls.msk.ru>
To: unlisted-recipients:; (no To-header on input)
Cc: KVM list <kvm@vger.kernel.org>, chickenmarkus@freenet.de
Subject: Re: Fwd: Discard is not working
Date: Fri, 07 Feb 2014 20:36:51 +0400	[thread overview]
Message-ID: <52F50BA3.10309@msgid.tls.msk.ru> (raw)
In-Reply-To: <52F422C2.9020509@redhat.com>

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


  parent reply	other threads:[~2014-02-07 16:36 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 [this message]
2014-02-07 20:19     ` chickenmarkus
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=52F50BA3.10309@msgid.tls.msk.ru \
    --to=mjt@tls.msk.ru \
    --cc=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.