aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--fs/omfs/dir.c7
1 files changed, 3 insertions, 4 deletions
diff --git a/fs/omfs/dir.c b/fs/omfs/dir.c
index b7146526afff..4bee3a72b9f3 100644
--- a/fs/omfs/dir.c
+++ b/fs/omfs/dir.c
@@ -305,11 +305,10 @@ static struct dentry *omfs_lookup(struct inode *dir, struct dentry *dentry,
305 ino_t ino = be64_to_cpu(oi->i_head.h_self); 305 ino_t ino = be64_to_cpu(oi->i_head.h_self);
306 brelse(bh); 306 brelse(bh);
307 inode = omfs_iget(dir->i_sb, ino); 307 inode = omfs_iget(dir->i_sb, ino);
308 if (IS_ERR(inode)) 308 } else if (bh != ERR_PTR(-ENOENT)) {
309 return ERR_CAST(inode); 309 inode = ERR_CAST(bh);
310 } 310 }
311 d_add(dentry, inode); 311 return d_splice_alias(inode, dentry);
312 return NULL;
313} 312}
314 313
315/* sanity check block's self pointer */ 314/* sanity check block's self pointer */