make d_splice_alias(ERR_PTR(err), dentry) = ERR_PTR(err)
... and simplify the living hell out of callers
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
diff --git a/fs/isofs/namei.c b/fs/isofs/namei.c
index 4fb3e80..68fa503 100644
--- a/fs/isofs/namei.c
+++ b/fs/isofs/namei.c
@@ -183,14 +183,9 @@
1024 + page_address(page));
__free_page(page);
- inode = NULL;
- if (found) {
- inode = isofs_iget(dir->i_sb, block, offset);
- if (IS_ERR(inode)) {
- mutex_unlock(&sbi->s_mutex);
- return ERR_CAST(inode);
- }
- }
+ inode = found ? isofs_iget(dir->i_sb, block, offset) : NULL;
+
mutex_unlock(&sbi->s_mutex);
+
return d_splice_alias(inode, dentry);
}