lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20140311233047.GX1346@redhat.com>
Date:	Tue, 11 Mar 2014 23:30:47 +0000
From:	"Richard W.M. Jones" <rjones@...hat.com>
To:	Eric Sandeen <sandeen@...hat.com>
Cc:	linux-ext4@...r.kernel.org
Subject: Re: fstrim has no effect on a just-mounted filesystem

On Tue, Mar 11, 2014 at 06:09:28PM -0500, Eric Sandeen wrote:
> On 3/11/14, 6:07 PM, Richard W.M. Jones wrote:
> 
> > I got it to work by using:
> > 
> > ----------------------------------------------------------------------
> > set -e
> > set -x
> > trace-cmd record -e all fstrim /sysroot
> > trace-cmd report
> > ----------------------------------------------------------------------
> > 
> > The output is absolutely huge and I didn't capture it.
> 
> that's why I suggested a single tracepoint, rather than every tracepoint
> in the kernel... ;)
> 
> oh wait, I didn't.  :/  argh sorry.
> 
> # trace-cmd record -e ext4_trim\* 
> 
> should do it.
> 
> > However just the act of doing the tracing *caused* the trim to happen
> > properly in the underlying disk.
> 
> that sounds very strange...

Thanks Eric.

FYI the libguestfs / virt-sparsify patch series that motivates this is
here:

https://www.redhat.com/archives/libguestfs/2014-March/thread.html#00091

Even with the greatly reduced set of traces (see attached), just the
act of tracing seems to have made trimming work properly.  The output
file has been trimmed properly from 926 MB to 819 MB:

819M	fedora-20.img
926M	fedora-20.img.ORIG

However I don't think making tracing the default on all fstrim
operations is going to be a good solution :-(

Rich.

----------------------------------------------------------------------

+ trace-cmd record -e 'ext4_trim*' fstrim /sysroot
/sys/kernel/debug/tracing/events/ext4_trim*/filter
/sys/kernel/debug/tracing/events/*/ext4_trim*/filter
CPU0 data recorded at offset=0x2d0000
    4096 bytes in size
/sys/kernel/debug/tracing/events/ext4_trim*/filter
/sys/kernel/debug/tracing/events/*/ext4_trim*/filter
Kernel buffer statistics:
  Note: "entries" are the entries left in the kernel ring buffer and are not
        recorded in the trace data. They should all be zero.

CPU: 0
entries: 0
overrun: 0
commit overrun: 0
bytes: 3368
oldest event ts:     2.475090
now ts:     2.500652
dropped events: 0
read events: 105

+ trace-cmd report
version = 6
cpus=1
          fstrim-189   [000]     2.475090: ext4_trim_all_free:   dev 8,3 group 0, start 0, len 32767
          fstrim-189   [000]     2.475092: ext4_trim_extent:     dev 8,3 group 0, start 10061, len 22707
          fstrim-189   [000]     2.475300: ext4_trim_all_free:   dev 8,3 group 1, start 0, len 32767
          fstrim-189   [000]     2.475301: ext4_trim_extent:     dev 8,3 group 1, start 316, len 58
          fstrim-189   [000]     2.475413: ext4_trim_extent:     dev 8,3 group 1, start 384, len 35
          fstrim-189   [000]     2.475501: ext4_trim_extent:     dev 8,3 group 1, start 453, len 1
          fstrim-189   [000]     2.475569: ext4_trim_extent:     dev 8,3 group 1, start 512, len 22
          fstrim-189   [000]     2.475648: ext4_trim_extent:     dev 8,3 group 1, start 1735, len 473
          fstrim-189   [000]     2.475937: ext4_trim_extent:     dev 8,3 group 1, start 9225, len 1
          fstrim-189   [000]     2.476008: ext4_trim_extent:     dev 8,3 group 1, start 9227, len 1
          fstrim-189   [000]     2.476076: ext4_trim_extent:     dev 8,3 group 1, start 9232, len 496
          fstrim-189   [000]     2.476250: ext4_trim_all_free:   dev 8,3 group 3, start 0, len 32767
          fstrim-189   [000]     2.476251: ext4_trim_extent:     dev 8,3 group 3, start 5384, len 8
          fstrim-189   [000]     2.476324: ext4_trim_extent:     dev 8,3 group 3, start 17748, len 684
          fstrim-189   [000]     2.476396: ext4_trim_extent:     dev 8,3 group 3, start 30731, len 7
          fstrim-189   [000]     2.476471: ext4_trim_extent:     dev 8,3 group 3, start 30803, len 1
          fstrim-189   [000]     2.476595: ext4_trim_all_free:   dev 8,3 group 4, start 0, len 32767
          fstrim-189   [000]     2.476596: ext4_trim_extent:     dev 8,3 group 4, start 1607, len 57
          fstrim-189   [000]     2.476665: ext4_trim_extent:     dev 8,3 group 4, start 1798, len 250
          fstrim-189   [000]     2.476736: ext4_trim_extent:     dev 8,3 group 4, start 17810, len 14
          fstrim-189   [000]     2.476809: ext4_trim_extent:     dev 8,3 group 4, start 17862, len 14906
          fstrim-189   [000]     2.485681: ext4_trim_all_free:   dev 8,3 group 5, start 0, len 32767
          fstrim-189   [000]     2.485683: ext4_trim_extent:     dev 8,3 group 5, start 316, len 32452
          fstrim-189   [000]     2.492399: ext4_trim_all_free:   dev 8,3 group 6, start 0, len 32767
          fstrim-189   [000]     2.492400: ext4_trim_extent:     dev 8,3 group 6, start 0, len 32768
          fstrim-189   [000]     2.492546: ext4_trim_all_free:   dev 8,3 group 7, start 0, len 32767
          fstrim-189   [000]     2.492547: ext4_trim_extent:     dev 8,3 group 7, start 316, len 32452
          fstrim-189   [000]     2.492665: ext4_trim_all_free:   dev 8,3 group 8, start 0, len 32767
          fstrim-189   [000]     2.492666: ext4_trim_extent:     dev 8,3 group 8, start 0, len 32768
          fstrim-189   [000]     2.492783: ext4_trim_all_free:   dev 8,3 group 9, start 0, len 32767
          fstrim-189   [000]     2.492784: ext4_trim_extent:     dev 8,3 group 9, start 316, len 32452
          fstrim-189   [000]     2.492897: ext4_trim_all_free:   dev 8,3 group 10, start 0, len 32767
          fstrim-189   [000]     2.492898: ext4_trim_extent:     dev 8,3 group 10, start 0, len 32768
          fstrim-189   [000]     2.493018: ext4_trim_all_free:   dev 8,3 group 11, start 0, len 32767
          fstrim-189   [000]     2.493019: ext4_trim_extent:     dev 8,3 group 11, start 0, len 32768
          fstrim-189   [000]     2.493132: ext4_trim_all_free:   dev 8,3 group 12, start 0, len 32767
          fstrim-189   [000]     2.493133: ext4_trim_extent:     dev 8,3 group 12, start 0, len 32768
          fstrim-189   [000]     2.493245: ext4_trim_all_free:   dev 8,3 group 13, start 0, len 32767
          fstrim-189   [000]     2.493246: ext4_trim_extent:     dev 8,3 group 13, start 0, len 32768
          fstrim-189   [000]     2.493359: ext4_trim_all_free:   dev 8,3 group 14, start 0, len 32767
          fstrim-189   [000]     2.493360: ext4_trim_extent:     dev 8,3 group 14, start 0, len 32768
          fstrim-189   [000]     2.493473: ext4_trim_all_free:   dev 8,3 group 15, start 0, len 32767
          fstrim-189   [000]     2.493473: ext4_trim_extent:     dev 8,3 group 15, start 0, len 32768
          fstrim-189   [000]     2.493586: ext4_trim_all_free:   dev 8,3 group 16, start 0, len 32767
          fstrim-189   [000]     2.493587: ext4_trim_extent:     dev 8,3 group 16, start 9816, len 1
          fstrim-189   [000]     2.493656: ext4_trim_extent:     dev 8,3 group 16, start 9818, len 22950
          fstrim-189   [000]     2.493892: ext4_trim_all_free:   dev 8,3 group 18, start 0, len 32767
          fstrim-189   [000]     2.493892: ext4_trim_extent:     dev 8,3 group 18, start 761, len 1
          fstrim-189   [000]     2.493972: ext4_trim_extent:     dev 8,3 group 18, start 793, len 231
          fstrim-189   [000]     2.494085: ext4_trim_extent:     dev 8,3 group 18, start 6767, len 1
          fstrim-189   [000]     2.494170: ext4_trim_extent:     dev 8,3 group 18, start 7694, len 1
          fstrim-189   [000]     2.494259: ext4_trim_extent:     dev 8,3 group 18, start 7700, len 1
          fstrim-189   [000]     2.494347: ext4_trim_extent:     dev 8,3 group 18, start 12252, len 1
          fstrim-189   [000]     2.494437: ext4_trim_extent:     dev 8,3 group 18, start 24218, len 1
          fstrim-189   [000]     2.494620: ext4_trim_all_free:   dev 8,3 group 19, start 0, len 32767
          fstrim-189   [000]     2.494621: ext4_trim_extent:     dev 8,3 group 19, start 7693, len 1
          fstrim-189   [000]     2.494702: ext4_trim_extent:     dev 8,3 group 19, start 7715, len 1
          fstrim-189   [000]     2.494791: ext4_trim_extent:     dev 8,3 group 19, start 8980, len 108
          fstrim-189   [000]     2.494948: ext4_trim_extent:     dev 8,3 group 19, start 9147, len 37
          fstrim-189   [000]     2.495070: ext4_trim_extent:     dev 8,3 group 19, start 9190, len 4
          fstrim-189   [000]     2.495157: ext4_trim_extent:     dev 8,3 group 19, start 9893, len 349
          fstrim-189   [000]     2.495453: ext4_trim_extent:     dev 8,3 group 19, start 10245, len 507
          fstrim-189   [000]     2.495556: ext4_trim_extent:     dev 8,3 group 19, start 10753, len 22015
          fstrim-189   [000]     2.495739: ext4_trim_all_free:   dev 8,3 group 20, start 0, len 32767
          fstrim-189   [000]     2.495739: ext4_trim_extent:     dev 8,3 group 20, start 799, len 31969
          fstrim-189   [000]     2.495915: ext4_trim_all_free:   dev 8,3 group 21, start 0, len 32767
          fstrim-189   [000]     2.495916: ext4_trim_extent:     dev 8,3 group 21, start 0, len 32768
          fstrim-189   [000]     2.496098: ext4_trim_all_free:   dev 8,3 group 22, start 0, len 32767
          fstrim-189   [000]     2.496099: ext4_trim_extent:     dev 8,3 group 22, start 0, len 32768
          fstrim-189   [000]     2.496270: ext4_trim_all_free:   dev 8,3 group 23, start 0, len 32767
          fstrim-189   [000]     2.496271: ext4_trim_extent:     dev 8,3 group 23, start 0, len 32768
          fstrim-189   [000]     2.496449: ext4_trim_all_free:   dev 8,3 group 24, start 0, len 32767
          fstrim-189   [000]     2.496450: ext4_trim_extent:     dev 8,3 group 24, start 0, len 32768
          fstrim-189   [000]     2.496613: ext4_trim_all_free:   dev 8,3 group 25, start 0, len 32767
          fstrim-189   [000]     2.496614: ext4_trim_extent:     dev 8,3 group 25, start 316, len 32452
          fstrim-189   [000]     2.496780: ext4_trim_all_free:   dev 8,3 group 26, start 0, len 32767
          fstrim-189   [000]     2.496781: ext4_trim_extent:     dev 8,3 group 26, start 0, len 32768
          fstrim-189   [000]     2.496952: ext4_trim_all_free:   dev 8,3 group 27, start 0, len 32767
          fstrim-189   [000]     2.496953: ext4_trim_extent:     dev 8,3 group 27, start 316, len 32452
          fstrim-189   [000]     2.497138: ext4_trim_all_free:   dev 8,3 group 28, start 0, len 32767
          fstrim-189   [000]     2.497139: ext4_trim_extent:     dev 8,3 group 28, start 0, len 32768
          fstrim-189   [000]     2.497341: ext4_trim_all_free:   dev 8,3 group 29, start 0, len 32767
          fstrim-189   [000]     2.497342: ext4_trim_extent:     dev 8,3 group 29, start 0, len 32768
          fstrim-189   [000]     2.497530: ext4_trim_all_free:   dev 8,3 group 30, start 0, len 32767
          fstrim-189   [000]     2.497531: ext4_trim_extent:     dev 8,3 group 30, start 0, len 32768
          fstrim-189   [000]     2.497711: ext4_trim_all_free:   dev 8,3 group 31, start 0, len 32767
          fstrim-189   [000]     2.497712: ext4_trim_extent:     dev 8,3 group 31, start 0, len 32768
          fstrim-189   [000]     2.497873: ext4_trim_all_free:   dev 8,3 group 32, start 0, len 32767
          fstrim-189   [000]     2.497874: ext4_trim_extent:     dev 8,3 group 32, start 8, len 8
          fstrim-189   [000]     2.497960: ext4_trim_extent:     dev 8,3 group 32, start 24, len 8
          fstrim-189   [000]     2.498037: ext4_trim_extent:     dev 8,3 group 32, start 4056, len 28712
          fstrim-189   [000]     2.498235: ext4_trim_all_free:   dev 8,3 group 33, start 0, len 32767
          fstrim-189   [000]     2.498237: ext4_trim_extent:     dev 8,3 group 33, start 0, len 32768
          fstrim-189   [000]     2.498433: ext4_trim_all_free:   dev 8,3 group 34, start 0, len 32767
          fstrim-189   [000]     2.498434: ext4_trim_extent:     dev 8,3 group 34, start 0, len 32768
          fstrim-189   [000]     2.498612: ext4_trim_all_free:   dev 8,3 group 35, start 0, len 32767
          fstrim-189   [000]     2.498613: ext4_trim_extent:     dev 8,3 group 35, start 0, len 32768
          fstrim-189   [000]     2.498780: ext4_trim_all_free:   dev 8,3 group 36, start 0, len 32767
          fstrim-189   [000]     2.498781: ext4_trim_extent:     dev 8,3 group 36, start 0, len 32768
          fstrim-189   [000]     2.498972: ext4_trim_all_free:   dev 8,3 group 37, start 0, len 32767
          fstrim-189   [000]     2.498973: ext4_trim_extent:     dev 8,3 group 37, start 0, len 32768
          fstrim-189   [000]     2.499219: ext4_trim_all_free:   dev 8,3 group 38, start 0, len 32767
          fstrim-189   [000]     2.499221: ext4_trim_extent:     dev 8,3 group 38, start 0, len 32768
          fstrim-189   [000]     2.499397: ext4_trim_all_free:   dev 8,3 group 39, start 0, len 9471
          fstrim-189   [000]     2.499398: ext4_trim_extent:     dev 8,3 group 39, start 0, len 9472



-- 
Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones
Read my programming blog: http://rwmj.wordpress.com
Fedora now supports 80 OCaml packages (the OPEN alternative to F#)
--
To unsubscribe from this list: send the line "unsubscribe linux-ext4" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ