summaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorAditya Kali <adityakali@google.com>2016-01-29 03:54:04 -0500
committerTejun Heo <tj@kernel.org>2016-02-16 13:04:58 -0500
commit9f6df573a4041f896cbf51f1b3743494196620a7 (patch)
tree4ff0db9f1e815317630b24fdd32154eb72187d9e /include
parent223ffb29f9723a4b485cacf6dc7e6d639fffc322 (diff)
kernfs: Add API to generate relative kernfs path
The new function kernfs_path_from_node() generates and returns kernfs path of a given kernfs_node relative to a given parent kernfs_node. Signed-off-by: Aditya Kali <adityakali@google.com> Signed-off-by: Serge E. Hallyn <serge.hallyn@canonical.com> Acked-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> Signed-off-by: Tejun Heo <tj@kernel.org>
Diffstat (limited to 'include')
-rw-r--r--include/linux/kernfs.h9
1 files changed, 5 insertions, 4 deletions
diff --git a/include/linux/kernfs.h b/include/linux/kernfs.h
index af51df35d749..716bfdede5f5 100644
--- a/include/linux/kernfs.h
+++ b/include/linux/kernfs.h
@@ -267,8 +267,9 @@ static inline bool kernfs_ns_enabled(struct kernfs_node *kn)
267 267
268int kernfs_name(struct kernfs_node *kn, char *buf, size_t buflen); 268int kernfs_name(struct kernfs_node *kn, char *buf, size_t buflen);
269size_t kernfs_path_len(struct kernfs_node *kn); 269size_t kernfs_path_len(struct kernfs_node *kn);
270char * __must_check kernfs_path(struct kernfs_node *kn, char *buf, 270int kernfs_path_from_node(struct kernfs_node *root_kn, struct kernfs_node *kn,
271 size_t buflen); 271 char *buf, size_t buflen);
272char *kernfs_path(struct kernfs_node *kn, char *buf, size_t buflen);
272void pr_cont_kernfs_name(struct kernfs_node *kn); 273void pr_cont_kernfs_name(struct kernfs_node *kn);
273void pr_cont_kernfs_path(struct kernfs_node *kn); 274void pr_cont_kernfs_path(struct kernfs_node *kn);
274struct kernfs_node *kernfs_get_parent(struct kernfs_node *kn); 275struct kernfs_node *kernfs_get_parent(struct kernfs_node *kn);
@@ -338,8 +339,8 @@ static inline int kernfs_name(struct kernfs_node *kn, char *buf, size_t buflen)
338static inline size_t kernfs_path_len(struct kernfs_node *kn) 339static inline size_t kernfs_path_len(struct kernfs_node *kn)
339{ return 0; } 340{ return 0; }
340 341
341static inline char * __must_check kernfs_path(struct kernfs_node *kn, char *buf, 342static inline char *kernfs_path(struct kernfs_node *kn, char *buf,
342 size_t buflen) 343 size_t buflen)
343{ return NULL; } 344{ return NULL; }
344 345
345static inline void pr_cont_kernfs_name(struct kernfs_node *kn) { } 346static inline void pr_cont_kernfs_name(struct kernfs_node *kn) { }