From mboxrd@z Thu Jan 1 00:00:00 1970 From: Michael Tokarev Subject: Re: Fwd: Discard is not working Date: Fri, 07 Feb 2014 20:36:51 +0400 Message-ID: <52F50BA3.10309@msgid.tls.msk.ru> References: <52F2C104.4040503@freenet.de> <52F422C2.9020509@redhat.com> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-15 Content-Transfer-Encoding: 7bit Cc: KVM list , chickenmarkus@freenet.de To: unlisted-recipients:; (no To-header on input) Return-path: Received: from isrv.corpit.ru ([86.62.121.231]:55098 "EHLO isrv.corpit.ru" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751303AbaBGQgw (ORCPT ); Fri, 7 Feb 2014 11:36:52 -0500 In-Reply-To: <52F422C2.9020509@redhat.com> Sender: kvm-owner@vger.kernel.org List-ID: 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