[linux-lvm] LVM & fstrim behaviour (Fedora 19)

Lukáš Czerner lczerner at redhat.com
Tue Sep 24 15:01:22 UTC 2013


On Tue, 24 Sep 2013, Lukáš Czerner wrote:

> Date: Tue, 24 Sep 2013 15:20:13 +0200 (CEST)
> From: Lukáš Czerner <lczerner at redhat.com>
> Reply-To: LVM general discussion and development <linux-lvm at redhat.com>
> To: Jorge Fábregas <jorge.fabregas at gmail.com>
> Cc: linux-lvm at redhat.com
> Subject: Re: [linux-lvm] LVM & fstrim behaviour (Fedora 19)
> 
> On Tue, 17 Sep 2013, Jorge Fábregas wrote:
> 
> > Date: Tue, 17 Sep 2013 14:38:08 -0400
> > From: Jorge Fábregas <jorge.fabregas at gmail.com>
> > Reply-To: LVM general discussion and development <linux-lvm at redhat.com>
> > To: linux-lvm at redhat.com
> > Subject: [linux-lvm] LVM & fstrim behaviour (Fedora 19)
> > 
> > Hi,
> > 
> > I'm testing fstrim on an LVM volume but it only seems to work the first
> > time I run it (just after mounting the volume).  When I run "fstrim -v
> > /mnt" for the first time it prints all the free blocks that is trimming
> > (almost all of the filesystem as it is empty) but subsequent runs just
> > output "0 bytes trimmed" no matter how many files I create/sync & delete
> > afterwards.  The "issue_discards" is set in lvm.conf.
> > 
> > If I do this over the raw device (/dev/sda3, same ext4 filesystem) I get
> > the output corresponding to the last deleted files every time I run fstrim.
> > 
> > ## THIN ##
> > 
> > I also created a thin pool and a logical volume on that pool.  If I
> > mount this volume with "discard", I can see that TRIM is working by
> > doing an "lvs vgthin" (the Data Usage% grows as I create files & shrinks
> > as I delete files).  However, If I mount it without the "discard" option
> > (in order to use fstrim) I only see the data-usage reduction when I run
> > fstrim *just* for the first time.
> > 
> > Any help will be appreciated.
> 
> Can you blktrace output for the devivce you're doing the fstrim on ?
> Both when you run fstrim for the first time and then when you run it
> again after releasing some blocks from the file system.
> 
> blktrace -d /dev/sda -o - | blkparse -i -
> 
> viz. man blktrace
> 
> Can you share how many a what size are the files you're releasing
> before running fstrim again ? Are you using sync after removing
> those files and before running fstrim (that's pretty important since
> blocks are not released instantly from the ext4 file system - but you
> can force it with sync).
> 
> I can confirm that fstrim on ext4 works as expected with loop image
> and I do not see behaviour described by Jorge. I'll try thinp as
> well to see what's going on.

I've tried it with thinp targer and it works as expected:


# mkfs.ext4 /dev/lvm_pool/thin_lv
# mount /dev/lvm_pool/thin_lv /mnt/test
# dd if=/dev/zero of=/mnt/test/file bs=1M count=1024
# dd if=/dev/zero of=/mnt/test/file1 bs=1M count=1024
# dd if=/dev/zero of=/mnt/test/file2 bs=1M count=1024
# sync
# lvs
pool    lvm_pool twi-a-tz-   9,00g              35,83                        
thin_lv lvm_pool Vwi-aotz-  50,00g pool          6,45                        

# rm -f /mnt/test/file
# sync
# fstrim -v /mnt/test
/mnt/test: 47 GiB (50508640256 bytes) trimmed

# lvs
pool    lvm_pool twi-a-tz-   9.00g              33.54                        
thin_lv lvm_pool Vwi-aotz-  50.00g pool          6.04                        

# rm -f /mnt/test/file*
# sync
# fstrim -v /mnt/test
/mnt/test: 47 GiB (50508640256 bajtů) trimmed

# lvs
pool    lvm_pool twi-a-tz-   9.00g              16.44                        
thin_lv lvm_pool Vwi-aotz-  50.00g pool          2.96                        

# lvm version
LVM version:     2.02.98(2) (2012-10-15)
Library version: 1.02.77 (2012-10-15)
Driver version:  4.24.0

-Lukas


> 
> Thanks!
> -Lukas
> 
> 
> > 
> > Thanks,
> > Jorge
> > 
> > _______________________________________________
> > linux-lvm mailing list
> > linux-lvm at redhat.com
> > https://www.redhat.com/mailman/listinfo/linux-lvm
> > read the LVM HOW-TO at http://tldp.org/HOWTO/LVM-HOWTO/
> > 


More information about the linux-lvm mailing list