diff options
author | Al Viro <viro@zeniv.linux.org.uk> | 2012-01-10 17:11:49 +0100 |
---|---|---|
committer | Al Viro <viro@zeniv.linux.org.uk> | 2012-01-10 17:13:16 +0100 |
commit | f4947fbce208990266920d51837e4e7ba9779db1 (patch) | |
tree | a541edc5de897ce03f54d83c1a1c8147ce22b605 /fs/coda/cnode.c | |
parent | coda: deal correctly with allocation failure from coda_cnode_makectl() (diff) | |
download | linux-f4947fbce208990266920d51837e4e7ba9779db1.tar.xz linux-f4947fbce208990266920d51837e4e7ba9779db1.zip |
coda: switch coda_cnode_make() to sane API as well, clean coda_lookup()
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Diffstat (limited to 'fs/coda/cnode.c')
-rw-r--r-- | fs/coda/cnode.c | 17 |
1 files changed, 7 insertions, 10 deletions
diff --git a/fs/coda/cnode.c b/fs/coda/cnode.c index 8af67c9c47dd..911cf30d057d 100644 --- a/fs/coda/cnode.c +++ b/fs/coda/cnode.c @@ -88,24 +88,21 @@ struct inode * coda_iget(struct super_block * sb, struct CodaFid * fid, - link the two up if this is needed - fill in the attributes */ -int coda_cnode_make(struct inode **inode, struct CodaFid *fid, struct super_block *sb) +struct inode *coda_cnode_make(struct CodaFid *fid, struct super_block *sb) { struct coda_vattr attr; + struct inode *inode; int error; /* We get inode numbers from Venus -- see venus source */ error = venus_getattr(sb, fid, &attr); - if ( error ) { - *inode = NULL; - return error; - } + if (error) + return ERR_PTR(error); - *inode = coda_iget(sb, fid, &attr); - if ( IS_ERR(*inode) ) { + inode = coda_iget(sb, fid, &attr); + if (IS_ERR(inode)) printk("coda_cnode_make: coda_iget failed\n"); - return PTR_ERR(*inode); - } - return 0; + return inode; } |