[PATCH] new helper - kern_path()
Analog of lookup_path(), takes struct path *. Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
This commit is contained in:
parent
2515ddc6db
commit
d181146572
2 changed files with 12 additions and 0 deletions
10
fs/namei.c
10
fs/namei.c
|
@ -1106,6 +1106,15 @@ int path_lookup(const char *name, unsigned int flags,
|
|||
return do_path_lookup(AT_FDCWD, name, flags, nd);
|
||||
}
|
||||
|
||||
int kern_path(const char *name, unsigned int flags, struct path *path)
|
||||
{
|
||||
struct nameidata nd;
|
||||
int res = do_path_lookup(AT_FDCWD, name, flags, &nd);
|
||||
if (!res)
|
||||
*path = nd.path;
|
||||
return res;
|
||||
}
|
||||
|
||||
/**
|
||||
* vfs_path_lookup - lookup a file path relative to a dentry-vfsmount pair
|
||||
* @dentry: pointer to dentry of the base directory
|
||||
|
@ -2855,6 +2864,7 @@ EXPORT_SYMBOL(__page_symlink);
|
|||
EXPORT_SYMBOL(page_symlink);
|
||||
EXPORT_SYMBOL(page_symlink_inode_operations);
|
||||
EXPORT_SYMBOL(path_lookup);
|
||||
EXPORT_SYMBOL(kern_path);
|
||||
EXPORT_SYMBOL(vfs_path_lookup);
|
||||
EXPORT_SYMBOL(inode_permission);
|
||||
EXPORT_SYMBOL(vfs_permission);
|
||||
|
|
|
@ -61,6 +61,8 @@ extern int user_path_at(int, const char __user *, unsigned, struct path *);
|
|||
#define user_path_dir(name, path) \
|
||||
user_path_at(AT_FDCWD, name, LOOKUP_FOLLOW | LOOKUP_DIRECTORY, path)
|
||||
|
||||
extern int kern_path(const char *, unsigned, struct path *);
|
||||
|
||||
extern int path_lookup(const char *, unsigned, struct nameidata *);
|
||||
extern int vfs_path_lookup(struct dentry *, struct vfsmount *,
|
||||
const char *, unsigned int, struct nameidata *);
|
||||
|
|
Loading…
Reference in a new issue