public inbox for linux-bcache@vger.kernel.org
 help / color / mirror / Atom feed
From: Kent Overstreet <kent.overstreet@gmail.com>
To: Marcin <marcin@mejor.pl>
Cc: linux-bcache@vger.kernel.org
Subject: Re: [bcachefs] time of mounting filesystem with high number of dirs
Date: Thu, 8 Sep 2016 17:56:29 -0800	[thread overview]
Message-ID: <20160909015629.356sy3q4gg35szbn@kmo-pixel> (raw)
In-Reply-To: <20160907211212.6pvxo7p5z3v2nvhf@kmo-pixel>

On Wed, Sep 07, 2016 at 01:12:12PM -0800, Kent Overstreet wrote:
> So, right now we're checking i_nlinks on every mount - mainly the dirents
> implementation predates the transactional machinery we have now. That's almost
> definitely what's taking so long, but I'll send you a patch to confirm later.

I just pushed a patch to add printks for the various stages of recovery: use
mount -o verbose_recovery to enable.

How many files does this filesystem have? (df -i will tell you).

As another data point, on my laptop mounting takes half a second - smallish
filesystem though, 47 gb of data and 711k inodes (and it's on an SSD). My
expectation is that mount times with the current code will be good enough as
long as you're using SSDs (or tiering, where tier 0 is SSD) - but I could use
more data points.

Also, increasing the btree node size may help, if you're not already using max
size btree nodes (256k). I may readd prefetching to metadata scans too, that
should help a good bit on rotating disks...

Mounting taking 12 minutes (and the amount of IO you were seeing) implies to me
that a metadata isn't being cached as well as it should be though, which is odd
considering outside of journal replay we aren't doing random access, all the
metadata access is inorder scans. So yeah, definitely want that timing
information...

  reply	other threads:[~2016-09-09  1:56 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-09-07 20:09 [bcachefs] time of mounting filesystem with high number of dirs Marcin
2016-09-07 21:12 ` Kent Overstreet
2016-09-09  1:56   ` Kent Overstreet [this message]
2016-09-09  2:07     ` Christopher James Halse Rogers
2016-09-09  7:52     ` Marcin Mirosław
2016-09-09  9:00       ` Kent Overstreet
2016-09-12 12:59         ` Marcin
2016-09-13  2:35           ` Kent Overstreet
2016-10-05 12:51             ` Marcin Mirosław
2016-10-06 13:01               ` Kent Overstreet
2016-10-18 12:14         ` [bcachefs] time of mounting filesystem with high number of dirs aka ageing filesystem Marcin Mirosław
2016-10-18 12:45           ` Kent Overstreet
2016-10-18 12:51             ` Marcin Mirosław
2016-10-18 13:04               ` Kent Overstreet
2016-10-18 13:13                 ` Marcin Mirosław
2016-10-18 13:19               ` Kent Overstreet

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=20160909015629.356sy3q4gg35szbn@kmo-pixel \
    --to=kent.overstreet@gmail.com \
    --cc=linux-bcache@vger.kernel.org \
    --cc=marcin@mejor.pl \
    /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