aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJosef 'Jeff' Sipek <jsipek@cs.sunysb.edu>2007-07-19 04:48:21 -0400
committerLinus Torvalds <torvalds@woody.linux-foundation.org>2007-07-19 13:04:45 -0400
commit16b6287a5286e872abece4f42a6eb5899157a836 (patch)
treef0c1da7a06ea868fa155760662d5e1df4fdf402a
parent4ac4efc1f5575a268417f80ef4059aee383f8331 (diff)
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>
-rw-r--r--fs/nfsctl.c16
1 files changed, 6 insertions, 10 deletions
diff --git a/fs/nfsctl.c b/fs/nfsctl.c
index c043136a82ca..51f1b31acbf6 100644
--- a/fs/nfsctl.c
+++ b/fs/nfsctl.c
@@ -23,19 +23,15 @@
23static struct file *do_open(char *name, int flags) 23static struct file *do_open(char *name, int flags)
24{ 24{
25 struct nameidata nd; 25 struct nameidata nd;
26 struct vfsmount *mnt;
26 int error; 27 int error;
27 28
28 nd.mnt = do_kern_mount("nfsd", 0, "nfsd", NULL); 29 mnt = do_kern_mount("nfsd", 0, "nfsd", NULL);
30 if (IS_ERR(mnt))
31 return (struct file *)mnt;
29 32
30 if (IS_ERR(nd.mnt)) 33 error = vfs_path_lookup(mnt->mnt_root, mnt, name, 0, &nd);
31 return (struct file *)nd.mnt; 34 mntput(mnt); /* drop do_kern_mount reference */
32
33 nd.dentry = dget(nd.mnt->mnt_root);
34 nd.last_type = LAST_ROOT;
35 nd.flags = 0;
36 nd.depth = 0;
37
38 error = path_walk(name, &nd);
39 if (error) 35 if (error)
40 return ERR_PTR(error); 36 return ERR_PTR(error);
41 37