From: Omar Sandoval <osandov@osandov.com>
To: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cc: Jens Axboe <axboe@fb.com>,
linux-block@vger.kernel.org, kernel-team@fb.com
Subject: Re: [PATCH 0/6] block: fix blk-mq debugfs vs. blktrace
Date: Thu, 2 Feb 2017 09:01:45 -0800 [thread overview]
Message-ID: <20170202170145.GA31613@vader> (raw)
In-Reply-To: <20170202105853.GA27128@kroah.com>
On Thu, Feb 02, 2017 at 11:58:53AM +0100, Greg Kroah-Hartman wrote:
> On Wed, Feb 01, 2017 at 12:31:15AM -0800, Omar Sandoval wrote:
> > On Wed, Feb 01, 2017 at 09:16:08AM +0100, Greg Kroah-Hartman wrote:
> > > On Tue, Jan 31, 2017 at 02:53:16PM -0800, Omar Sandoval wrote:
> > > > From: Omar Sandoval <osandov@fb.com>
> > > >
> > > > When I moved the blk-mq debugging information to debugfs, I didn't
> > > > realize that blktrace also created directories in debugfs that
> > > > conflicted with the blk-mq directories. This series fixes that.
> > > >
> > > > Patch 1 adds a new debugfs helper needed for patch 6. Greg, could I get
> > > > an ack on that if it makes sense? Jens and I went back and forth on this
> > > > for a little while, but patch 6 has more of the rationale on why we
> > > > decided that this approach was the cleanest.
> > >
> > > I can't find patch 6, you only cc:ed me on the first patch :(
> > >
> > > Care to bounce them all to me?
> > >
> > > thanks,
> > >
> > > greg k-h
> >
> > Gah, I forgot --cc-cover to git-send-email. The series is all here:
> > http://marc.info/?l=linux-block&r=1&b=201701&w=2. I can also send the
> > patches directly to you if you prefer that.
>
> I don't understand the problem here. How do you not know if you have
> created the debugfs file or not? You have the structure, with the
> correct name, how could it have been created? Can't you save the dentry
> to the debugfs file in the structure that has the name?
>
> thanks,
>
> greg k-h
Hey, Greg,
So here's the alternative to doing the lookup:
diff --git a/kernel/trace/blktrace.c b/kernel/trace/blktrace.c
index 38052f625a0f..79ef6b9d1f96 100644
--- a/kernel/trace/blktrace.c
+++ b/kernel/trace/blktrace.c
@@ -470,12 +470,15 @@ static int do_blk_trace_setup(struct request_queue *q, char *name, dev_t dev,
if (!blk_debugfs_root)
goto err;
- dir = debugfs_create_dir(buts->name, blk_debugfs_root);
-
+#ifdef CONFIG_BLK_DEBUG_FS
+ if (q->mq_ops && !bdev->bd_part.partno)
+ dir = q->debugfs_dir;
+#endif
+ if (!dir)
+ bt->dir = dir = debugfs_create_dir(buts->name, blk_debugfs_root);
if (!dir)
goto err;
- bt->dir = dir;
bt->dev = dev;
atomic_set(&bt->dropped, 0);
INIT_LIST_HEAD(&bt->running_list);
So we could figure out if it exists, but it's very special-cased and
fragile. And then there's this further up:
/*
* some device names have larger paths - convert the slashes
* to underscores for this to work as expected
*/
strreplace(buts->name, '/', '_');
which I'm not sure applies anymore but would also break this. Doing the
lookup is just more foolproof.
Thanks,
Omar
next prev parent reply other threads:[~2017-02-02 17:02 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-01-31 22:53 [PATCH 0/6] block: fix blk-mq debugfs vs. blktrace Omar Sandoval
2017-01-31 22:53 ` [PATCH 1/6] debugfs: add debugfs_lookup() Omar Sandoval
2017-01-31 22:53 ` [PATCH 2/6] block: fix debugfs config conditional in struct request_queue Omar Sandoval
2017-01-31 22:53 ` [PATCH 3/6] blktrace: make do_blk_trace_setup() static Omar Sandoval
2017-01-31 22:53 ` [PATCH 4/6] block: use same block debugfs directory for blk-mq and blktrace Omar Sandoval
2017-01-31 22:53 ` [PATCH 5/6] blk-mq: move debugfs_remove() of disk dir to blk_release_queue() Omar Sandoval
2017-01-31 22:53 ` [PATCH 6/6] blktrace: use existing disk debugfs directory Omar Sandoval
2017-02-01 8:16 ` [PATCH 0/6] block: fix blk-mq debugfs vs. blktrace Greg Kroah-Hartman
2017-02-01 8:31 ` Omar Sandoval
2017-02-02 10:58 ` Greg Kroah-Hartman
2017-02-02 15:17 ` Jens Axboe
2017-02-02 17:18 ` Greg Kroah-Hartman
2017-02-02 17:01 ` Omar Sandoval [this message]
2017-02-02 17:18 ` Greg Kroah-Hartman
2017-02-02 17:20 ` Jens Axboe
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=20170202170145.GA31613@vader \
--to=osandov@osandov.com \
--cc=axboe@fb.com \
--cc=gregkh@linuxfoundation.org \
--cc=kernel-team@fb.com \
--cc=linux-block@vger.kernel.org \
/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