nfsctl: use vfs_path_lookup
use vfs_path_lookup instead of open-coding the necessary functionality. Signed-off-by: Josef 'Jeff' Sipek <jsipek@cs.sunysb.edu> Acked-by: NeilBrown <neilb@suse.de> Cc: Al Viro <viro@zeniv.linux.org.uk> Acked-by: Christoph Hellwig <hch@lst.de> Cc: Trond Myklebust <trond.myklebust@fys.uio.no> Cc: Michael Halcrow <mhalcrow@us.ibm.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
parent
4ac4efc1f5
commit
16b6287a52
16
fs/nfsctl.c
16
fs/nfsctl.c
@ -23,19 +23,15 @@
|
|||||||
static struct file *do_open(char *name, int flags)
|
static struct file *do_open(char *name, int flags)
|
||||||
{
|
{
|
||||||
struct nameidata nd;
|
struct nameidata nd;
|
||||||
|
struct vfsmount *mnt;
|
||||||
int error;
|
int error;
|
||||||
|
|
||||||
nd.mnt = do_kern_mount("nfsd", 0, "nfsd", NULL);
|
mnt = do_kern_mount("nfsd", 0, "nfsd", NULL);
|
||||||
|
if (IS_ERR(mnt))
|
||||||
|
return (struct file *)mnt;
|
||||||
|
|
||||||
if (IS_ERR(nd.mnt))
|
error = vfs_path_lookup(mnt->mnt_root, mnt, name, 0, &nd);
|
||||||
return (struct file *)nd.mnt;
|
mntput(mnt); /* drop do_kern_mount reference */
|
||||||
|
|
||||||
nd.dentry = dget(nd.mnt->mnt_root);
|
|
||||||
nd.last_type = LAST_ROOT;
|
|
||||||
nd.flags = 0;
|
|
||||||
nd.depth = 0;
|
|
||||||
|
|
||||||
error = path_walk(name, &nd);
|
|
||||||
if (error)
|
if (error)
|
||||||
return ERR_PTR(error);
|
return ERR_PTR(error);
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user