diff options
author | Al Viro <viro@zeniv.linux.org.uk> | 2011-10-23 18:49:54 -0400 |
---|---|---|
committer | Al Viro <viro@zeniv.linux.org.uk> | 2012-01-03 22:52:34 -0500 |
commit | 5ede7b1cfa8201418fb35e12f770e9e7c2559a4d (patch) | |
tree | c26d99fbbed708a6db116e57daca68f2b3c672ac /fs/nfs/dir.c | |
parent | 157e8bf8b4823bfcdefa6c1548002374b61f61df (diff) | |
download | linux-3.10-5ede7b1cfa8201418fb35e12f770e9e7c2559a4d.tar.gz linux-3.10-5ede7b1cfa8201418fb35e12f770e9e7c2559a4d.tar.bz2 linux-3.10-5ede7b1cfa8201418fb35e12f770e9e7c2559a4d.zip |
pull manipulations of rpc_cred inside alloc_nfs_open_context()
No need to duplicate them in both callers; make it return
ERR_PTR(-ENOMEM) on allocation failure instead of NULL and
it'll be able to report rpc_lookup_cred() failures just
fine. Callers are much happier that way...
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Diffstat (limited to 'fs/nfs/dir.c')
-rw-r--r-- | fs/nfs/dir.c | 13 |
1 files changed, 1 insertions, 12 deletions
diff --git a/fs/nfs/dir.c b/fs/nfs/dir.c index ac289909814..23be134b319 100644 --- a/fs/nfs/dir.c +++ b/fs/nfs/dir.c @@ -1368,18 +1368,7 @@ static fmode_t flags_to_mode(int flags) static struct nfs_open_context *create_nfs_open_context(struct dentry *dentry, int open_flags) { - struct nfs_open_context *ctx; - struct rpc_cred *cred; - fmode_t fmode = flags_to_mode(open_flags); - - cred = rpc_lookup_cred(); - if (IS_ERR(cred)) - return ERR_CAST(cred); - ctx = alloc_nfs_open_context(dentry, cred, fmode); - put_rpccred(cred); - if (ctx == NULL) - return ERR_PTR(-ENOMEM); - return ctx; + return alloc_nfs_open_context(dentry, flags_to_mode(open_flags)); } static int do_open(struct inode *inode, struct file *filp) |