Messages in this thread | | | Date | Mon, 26 Jan 2015 21:44:21 +0000 | From | Al Viro <> | Subject | Re: [PATCH 00/16 v3] tracing: Add new file system tracefs |
| |
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@goodmis.org> 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?
| |