提交 16b6287a 编写于 作者: J Josef 'Jeff' Sipek 提交者: Linus Torvalds

nfsctl: use vfs_path_lookup

use vfs_path_lookup instead of open-coding the necessary functionality.
Signed-off-by: NJosef 'Jeff' Sipek <jsipek@cs.sunysb.edu>
Acked-by: NNeilBrown <neilb@suse.de>
Cc: Al Viro <viro@zeniv.linux.org.uk>
Acked-by: NChristoph Hellwig <hch@lst.de>
Cc: Trond Myklebust <trond.myklebust@fys.uio.no>
Cc: Michael Halcrow <mhalcrow@us.ibm.com>
Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
上级 4ac4efc1
...@@ -23,19 +23,15 @@ ...@@ -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);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册