diff --git a/fs/dcache.c b/fs/dcache.c index 688aac951d1160abec6b96cd4e61798b08a0df12..170efbcb1a9b5be6639a53946812ce26f00554f3 100644 --- a/fs/dcache.c +++ b/fs/dcache.c @@ -1843,9 +1843,22 @@ static char *__d_path(struct dentry *dentry, struct vfsmount *vfsmnt, return ERR_PTR(-ENAMETOOLONG); } -/* write full pathname into buffer and return start of pathname */ -char * d_path(struct dentry *dentry, struct vfsmount *vfsmnt, - char *buf, int buflen) +/** + * d_path - return the path of a dentry + * @dentry: dentry to report + * @vfsmnt: vfsmnt to which the dentry belongs + * @buf: buffer to return value in + * @buflen: buffer length + * + * Convert a dentry into an ASCII path name. If the entry has been deleted + * the string " (deleted)" is appended. Note that this is ambiguous. + * + * Returns the buffer or an error code if the path was too long. + * + * "buflen" should be positive. Caller holds the dcache_lock. + */ +char *d_path(struct dentry *dentry, struct vfsmount *vfsmnt, + char *buf, int buflen) { char *res; struct path root;