From: Dave Chinner <david@fromorbit.com>
To: Andre Noll <maan@tuebingen.mpg.de>
Cc: Nix <nix@esperi.org.uk>,
linux-bcache@vger.kernel.org, linux-xfs@vger.kernel.org,
linux-kernel@vger.kernel.org, Coly Li <colyli@suse.de>
Subject: Re: bcache on XFS: metadata I/O (dirent I/O?) not getting cached at all?
Date: Thu, 7 Feb 2019 13:26:57 +1100 [thread overview]
Message-ID: <20190207022657.GI14116@dastard> (raw)
In-Reply-To: <20190207002425.GX24140@tuebingen.mpg.de>
On Thu, Feb 07, 2019 at 01:24:25AM +0100, Andre Noll wrote:
> On Thu, Feb 07, 10:43, Dave Chinner wrote
> > File data readahead: REQ_RAHEAD
> > Metadata readahead: REQ_META | REQ_RAHEAD
> >
> > drivers/md/bcache/request.c::check_should_bypass():
> >
> > /*
> > * Flag for bypass if the IO is for read-ahead or background,
> > * unless the read-ahead request is for metadata (eg, for gfs2).
> > */
> > if (bio->bi_opf & (REQ_RAHEAD|REQ_BACKGROUND) &&
> > !(bio->bi_opf & REQ_PRIO))
> > goto skip;
> >
> > bcache needs fixing - it thinks REQ_PRIO means metadata IO. That's
> > wrong - REQ_META means it's metadata IO, and so this is a bcache
> > bug.
>
> Do you think 752f66a75abad is bad (ha!) and should be reverted?
Yes, that change is just broken. From include/linux/blk_types.h:
__REQ_META, /* metadata io request */
__REQ_PRIO, /* boost priority in cfq */
i.e. REQ_META means that it is a metadata request, REQ_PRIO means it
is a "high priority" request. Two completely different things, often
combined, but not interchangeable.
So, yeah, that needs to be reverted if you want bcache to function
properly for metadata caching.
Cheers,
Dave.
--
Dave Chinner
david@fromorbit.com
next prev parent reply other threads:[~2019-02-07 2:27 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-02-06 22:11 bcache on XFS: metadata I/O (dirent I/O?) not getting cached at all? Nix
2019-02-06 23:43 ` Dave Chinner
2019-02-07 0:24 ` Andre Noll
2019-02-07 2:26 ` Dave Chinner [this message]
2019-02-07 2:38 ` Coly Li
2019-02-07 3:10 ` Dave Chinner
2019-02-07 8:18 ` Coly Li
2019-02-07 13:10 ` Nix
2019-02-07 2:27 ` Coly Li
2019-02-07 9:28 ` Andre Noll
2019-02-07 8:16 ` Coly Li
2019-02-07 9:41 ` Andre Noll
2019-02-07 10:23 ` Coly Li
2019-02-07 20:51 ` Nix
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=20190207022657.GI14116@dastard \
--to=david@fromorbit.com \
--cc=colyli@suse.de \
--cc=linux-bcache@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-xfs@vger.kernel.org \
--cc=maan@tuebingen.mpg.de \
--cc=nix@esperi.org.uk \
/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).