Re: [PATCH 00/16 v3] tracing: Add new file system tracefs

From: Al Viro
Date: Mon Jan 26 2015 - 16:44:29 EST


On Mon, Jan 26, 2015 at 03:58:22PM -0500, Steven Rostedt wrote:
> On Mon, 26 Jan 2015 15:44:19 -0500
> Steven Rostedt <rostedt@xxxxxxxxxxx> wrote:
>
> > Now what I could also do is to only allow this to be called once. And
> > in that case, we can hard code what mkdir and rmdir are. This could
> > work as currently there only exists a single instance of the instances
> > directory.
> >
> > I might just do that too.
>
> And just did:
>
> diff --git a/fs/tracefs/inode.c b/fs/tracefs/inode.c
> index c7eb4c58579e..13e17bf677f4 100644
> --- a/fs/tracefs/inode.c
> +++ b/fs/tracefs/inode.c
> @@ -50,6 +50,11 @@ static const struct file_operations tracefs_file_operations = {
> .llseek = noop_llseek,
> };
>
> +struct tracefs_dir_ops {
> + int (*mkdir)(const char *name);
> + int (*rmdir)(const char *name);
> +};

Why go through that indirection at all...

> +struct dentry *tracefs_create_instance_dir(const char *name, struct dentry *parent,
> + int (*mkdir)(const char *name),
> + int (*rmdir)(const char *name));

... when there's exactly one caller of that thing, and the values of
mkdir and rmdir callbacks are the same on each call?
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/