From: Jiaxing Wang <hello.wjx@gmail.com>
To: Steven Rostedt <rostedt@goodmis.org>
Cc: linux-kernel@vger.kernel.org
Subject: Re: [PATCH RESEND] tracing: Make tracing work when debugfs is not compiled or initialized.
Date: Fri, 6 Nov 2015 16:02:33 +0800 [thread overview]
Message-ID: <20151106080233.GA4174@cac> (raw)
In-Reply-To: <20151105105432.3c0c9e3e@gandalf.local.home>
On Thu, Nov 05, 2015 at 10:54:32AM -0500, Steven Rostedt wrote:
> On Thu, 5 Nov 2015 13:23:01 +0800
> Jiaxing Wang <hello.wjx@gmail.com> wrote:
>
> > > > - /*
> > > > - * As there may still be users that expect the tracing
> > > > - * files to exist in debugfs/tracing, we must automount
> > > > - * the tracefs file system there, so older tools still
> > > > - * work with the newer kerenl.
> > > > - */
> > > > - tr->dir = debugfs_create_automount("tracing", NULL,
> > > > - trace_automount, NULL);
> > > > - if (!tr->dir) {
> > > > - pr_warn_once("Could not create debugfs directory 'tracing'\n");
> > > > - return ERR_PTR(-ENOMEM);
> > > > + if (debugfs_initialized()) {
> > > > + /*
> > > > + * As there may still be users that expect the tracing
> > > > + * files to exist in debugfs/tracing, we must automount
> > > > + * the tracefs file system there, so older tools still
> > > > + * work with the newer kerenl.
> > > > + */
> > > > + traced = debugfs_create_automount("tracing", NULL,
> > > > + trace_automount, NULL);
> > > > + if (!traced)
> > > > + pr_warn_once("Could not create debugfs directory 'tracing'\n");
> > >
> > > This should return a warning, and please keep the tr->dir instead of
> > > this new traced variable.
> > Do you mean return ERR_PTR(-ENOMEM); when debugfs_create_automount()
> > return NULL?
>
> Right.
>
> > As long as tracefs is initialized, we can make tracing_init_dentry() return
> > NULL even if the debugfs automount point is not created(), and tracefs can
> > still be populated. If tracing_init_dentry() returns error in this case,
> > the caller of tracing_init_dentry() will not populate tracefs.
>
> But this is still a failure. tracing_init_dentry() now only mounts
> tracefs on the debugfs/tracing directory. If it fails to do that when
> debugfs is available, then it should fail, as it would break backward
> compatibility with other tools.
>
> If debugfs is not configured in, then it should set tr->dir to
> whatever (ENOMEM is fine), and return NULL.
>
>
> > >
> > > > }
> > > >
> > > > + tr->dir = TRACE_TOP_DIR_ENTRY;
> > > > +
> > >
> > > Also, no need to add this, because if debugfs is not initialize, then
> > > tr->dir would be ERR_PTR(-ENODEV), which still works as tr->dir is not
> > > NULL.
> > If we accept debugfs_create_automount() return NULL, tr->dir can still
> > be NULL if we do tr->dir = debugfs_create_automount().
>
> What's wrong with that? This function is only to automount debugfs now.
>
> Also, I think the first check should be:
>
> if (WARN_ON(!tracefs_initialized()) ||
> (IS_ENABLED(CONFIG_DEBUGFS) &&
> WARN_ON(!debugfs_initialized()))
> return ERR_PTR(-ENODEV);
>
> Then we don't need the if (debugfs_initialized()) conditional.
I will send you a new patch according to your suggestion, and if that
is OK, I will send a seperate patch to Greg KH to add stub for
debugfs_create_automount().
Thanks.
>
> -- Steve
>
>
> > >
> > > -- Steve
> > >
> > > > return NULL;
> > > > }
> > > >
> > >
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at http://www.tux.org/lkml/
next prev parent reply other threads:[~2015-11-06 8:02 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-10-18 11:58 [PATCH 0/3] Some tracing fixes Jiaxing Wang
2015-10-18 11:58 ` [PATCH 1/3] tracing: Update instance_rmdir() to use tracefs_remove_recursive Jiaxing Wang
2015-10-18 11:58 ` [PATCH 2/3] tracing: Make tracing work when debugfs is not compiled or initialized Jiaxing Wang
2015-10-18 14:32 ` kbuild test robot
2015-10-19 1:54 ` Jiaxing Wang
2015-11-02 14:16 ` Steven Rostedt
2015-11-04 1:11 ` [PATCH RESEND] " Jiaxing Wang
2015-11-04 15:03 ` Steven Rostedt
2015-11-04 18:54 ` Greg Kroah-Hartman
2015-11-04 20:32 ` Steven Rostedt
2015-11-05 5:23 ` Jiaxing Wang
2015-11-05 15:54 ` Steven Rostedt
2015-11-06 8:02 ` Jiaxing Wang [this message]
2015-11-06 8:04 ` [PATCH] tracing: Make tracing work when debugfs is not configured in Jiaxing Wang
2015-10-18 11:58 ` [PATCH 3/3] tracing: Apply tracer specific options from kernel command line Jiaxing Wang
2015-11-02 19:04 ` Steven Rostedt
2015-11-04 1:14 ` [PATCH v2] " Jiaxing Wang
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=20151106080233.GA4174@cac \
--to=hello.wjx@gmail.com \
--cc=linux-kernel@vger.kernel.org \
--cc=rostedt@goodmis.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.