linux-ext4.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Eric Sandeen <sandeen@redhat.com>
To: "Richard W.M. Jones" <rjones@redhat.com>, linux-ext4@vger.kernel.org
Subject: Re: fstrim has no effect on a just-mounted filesystem
Date: Tue, 11 Mar 2014 16:47:02 -0500	[thread overview]
Message-ID: <531F8456.2020404@redhat.com> (raw)
In-Reply-To: <20140311213932.GA19176@redhat.com>

On 3/11/14, 4:39 PM, Richard W.M. Jones wrote:
> 
> Here's a problem I can't work out:
> 
> I have a filesystem (in a VM) that I know has at least 100MB of
> deleted files on it.

Was it mounted with -o discard at the time the files were deleted?
If so, then the trim is already done during the unlink process,
and there's no more work to do.

So that's my first thought, but ...

>  Doing this in a script:
> 
>   mount -o discard /dev/sda1 /mnt
>   fstrim /mnt
> 
> ... does nothing.  Also the fstrim is almost instantaneous -- there's
> no way it could be scanning the disk.

blktrace would be a better tool to find out whether or not discards
are actually getting issued to storage...

And if you strace it what does the ioctl return?

Enabling the trace_ext4_trim_all_free tracepoint might be interesting too.

> However, if I start with the same filesystem, mounted with -o discard,
> and create and rm large files, while observing the size of the
> underlying virtual disk, then discard is obviously working fine.  'rm'
> of large files makes the underlying disk shrink.
> 
> Any ideas here?

first of all, I should point out that "-o discard" is not necessary for
fstrim / FITRIM ioctl to work.  The former tries to trim as soon
as files are unlinked; FITRIM goes looking for free blocks to trim.

If you're mounting with -o discard, then fstrim should never find any
workd to do.

-Eric


> Rich.
> 
> kernel: 3.12.5-302.fc20.x86_64
> qemu: 1.7.0
> virtio-scsi with discard=unmap
> 


  reply	other threads:[~2014-03-11 21:47 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-03-11 21:39 fstrim has no effect on a just-mounted filesystem Richard W.M. Jones
2014-03-11 21:47 ` Eric Sandeen [this message]
2014-03-11 22:00   ` Richard W.M. Jones
2014-03-11 22:04     ` Richard W.M. Jones
2014-03-11 22:08     ` Eric Sandeen
2014-03-11 22:59       ` Richard W.M. Jones
2014-03-11 23:07         ` Richard W.M. Jones
2014-03-11 23:09           ` Eric Sandeen
2014-03-11 23:30             ` Richard W.M. Jones
2014-03-12 10:17               ` Richard W.M. Jones
2014-03-12 13:42                 ` Richard W.M. Jones
2014-03-12 18:10                 ` Paolo Bonzini
2014-03-12 18:24                   ` Richard W.M. Jones

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=531F8456.2020404@redhat.com \
    --to=sandeen@redhat.com \
    --cc=linux-ext4@vger.kernel.org \
    --cc=rjones@redhat.com \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).