diff options
author | Aditya Kali <adityakali@google.com> | 2016-01-29 03:54:04 -0500 |
---|---|---|
committer | Tejun Heo <tj@kernel.org> | 2016-02-16 13:04:58 -0500 |
commit | 9f6df573a4041f896cbf51f1b3743494196620a7 (patch) | |
tree | 4ff0db9f1e815317630b24fdd32154eb72187d9e /include | |
parent | 223ffb29f9723a4b485cacf6dc7e6d639fffc322 (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.h | 9 |
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 | ||
268 | int kernfs_name(struct kernfs_node *kn, char *buf, size_t buflen); | 268 | int kernfs_name(struct kernfs_node *kn, char *buf, size_t buflen); |
269 | size_t kernfs_path_len(struct kernfs_node *kn); | 269 | size_t kernfs_path_len(struct kernfs_node *kn); |
270 | char * __must_check kernfs_path(struct kernfs_node *kn, char *buf, | 270 | int kernfs_path_from_node(struct kernfs_node *root_kn, struct kernfs_node *kn, |
271 | size_t buflen); | 271 | char *buf, size_t buflen); |
272 | char *kernfs_path(struct kernfs_node *kn, char *buf, size_t buflen); | ||
272 | void pr_cont_kernfs_name(struct kernfs_node *kn); | 273 | void pr_cont_kernfs_name(struct kernfs_node *kn); |
273 | void pr_cont_kernfs_path(struct kernfs_node *kn); | 274 | void pr_cont_kernfs_path(struct kernfs_node *kn); |
274 | struct kernfs_node *kernfs_get_parent(struct kernfs_node *kn); | 275 | struct 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) | |||
338 | static inline size_t kernfs_path_len(struct kernfs_node *kn) | 339 | static inline size_t kernfs_path_len(struct kernfs_node *kn) |
339 | { return 0; } | 340 | { return 0; } |
340 | 341 | ||
341 | static inline char * __must_check kernfs_path(struct kernfs_node *kn, char *buf, | 342 | static 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 | ||
345 | static inline void pr_cont_kernfs_name(struct kernfs_node *kn) { } | 346 | static inline void pr_cont_kernfs_name(struct kernfs_node *kn) { } |