diff options
| author | Thomas Gleixner <tglx@linutronix.de> | 2011-05-14 12:06:36 +0200 | 
|---|---|---|
| committer | Thomas Gleixner <tglx@linutronix.de> | 2011-05-14 12:06:36 +0200 | 
| commit | a18f22a968de17b29f2310cdb7ba69163e65ec15 (patch) | |
| tree | a7d56d88fad5e444d7661484109758a2f436129e /fs/nfsctl.c | |
| parent | a1c57e0fec53defe745e64417eacdbd3618c3e66 (diff) | |
| parent | 798778b8653f64b7b2162ac70eca10367cff6ce8 (diff) | |
Merge branch 'consolidate-clksrc-i8253' of master.kernel.org:~rmk/linux-2.6-arm into timers/clocksource
Conflicts:
	arch/ia64/kernel/cyclone.c
	arch/mips/kernel/i8253.c
	arch/x86/kernel/i8253.c
Reason: Resolve conflicts so further cleanups do not conflict further
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Diffstat (limited to 'fs/nfsctl.c')
| -rw-r--r-- | fs/nfsctl.c | 21 | 
1 files changed, 4 insertions, 17 deletions
diff --git a/fs/nfsctl.c b/fs/nfsctl.c index bf9cbd242ddd..124e8fcb0dd6 100644 --- a/fs/nfsctl.c +++ b/fs/nfsctl.c @@ -22,30 +22,17 @@  static struct file *do_open(char *name, int flags)  { -	struct nameidata nd;  	struct vfsmount *mnt; -	int error; +	struct file *file;  	mnt = do_kern_mount("nfsd", 0, "nfsd", NULL);  	if (IS_ERR(mnt))  		return (struct file *)mnt; -	error = vfs_path_lookup(mnt->mnt_root, mnt, name, 0, &nd); -	mntput(mnt);	/* drop do_kern_mount reference */ -	if (error) -		return ERR_PTR(error); - -	if (flags == O_RDWR) -		error = may_open(&nd.path, MAY_READ|MAY_WRITE, flags); -	else -		error = may_open(&nd.path, MAY_WRITE, flags); +	file = file_open_root(mnt->mnt_root, mnt, name, flags); -	if (!error) -		return dentry_open(nd.path.dentry, nd.path.mnt, flags, -				   current_cred()); - -	path_put(&nd.path); -	return ERR_PTR(error); +	mntput(mnt);	/* drop do_kern_mount reference */ +	return file;  }  static struct {  | 
