Re: [PATCH 1/8] kernfs: Add API to generate relative kernfs path

From: Serge Hallyn
Date: Wed Dec 09 2015 - 17:13:40 EST


Quoting Tejun Heo (tj@xxxxxxxxxx):
> Hello, Serge.
>
> On Wed, Dec 09, 2015 at 01:28:54PM -0600, serge.hallyn@xxxxxxxxxx wrote:
> > +/* kernfs_node_depth - compute depth from @from to @to */
> > +static size_t kernfs_depth(struct kernfs_node *from, struct kernfs_node *to)
> ...
> > +char *kernfs_path(struct kernfs_node *kn, char *buf, size_t buflen)
> > +{
> > + return kernfs_path_from_node(NULL, kn, buf, buflen);
> > +}
> ...
> > diff --git a/include/linux/kernfs.h b/include/linux/kernfs.h
> > index 5d4e9c4..d025ebd 100644
> > --- a/include/linux/kernfs.h
> > +++ b/include/linux/kernfs.h
> > @@ -267,6 +267,9 @@ static inline bool kernfs_ns_enabled(struct kernfs_node *kn)
> >
> > int kernfs_name(struct kernfs_node *kn, char *buf, size_t buflen);
> > size_t kernfs_path_len(struct kernfs_node *kn);
> > +char * __must_check kernfs_path_from_node(struct kernfs_node *root_kn,
> > + struct kernfs_node *kn, char *buf,
> > + size_t buflen);
>
> I think I commented on the same thing before, but I think it'd make
> more sense to put @from after @to

Oh. You said that for kernfs_path_from_node_locked(), and those were
changed. kernfs_path_form_node() is a different fn, but

> and the prototype is using @root_kn
> which is a bit confusing.

we can rename kn_root to from here if you think that's clearer (and
change the order here as well).

> Was converting the path functions to return
> length too much work? If so, that's fine but please explain what
> decisions were made.

Yes, I had replied saying:

|I can change that, but the callers right now don't re-try with
|larger buffer anyway, so this would actually complicate them just
|a smidgeon. Would you want them changed to do that? (pr_cont_kernfs_path
|right now writes into a static char[] for instance)

I can still make that change if you like.

> I skimmed through the series and spotted several other review points
> which didn't get addressed. Can you please go over the previous
> review cycle and address the review points?

I did go through every email twice, once while making changes (one
branch per response) and once while making changelog for each patch,
sorry about whatever I missed. I'll go through each again.

I'm going to be out for awhile after today, so next version will
unfortunately take awhile.

thanks,
-serge
--
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/