make d_splice_alias(ERR_PTR(err), dentry) = ERR_PTR(err)
[deliverable/linux.git] / fs / ext2 / namei.c
index ed5c5d496ee914aacd5e0d3ea6c7dcd98d319794..d60b7099e2db3c649be7707924575891bd3d77d1 100644 (file)
@@ -67,15 +67,11 @@ static struct dentry *ext2_lookup(struct inode * dir, struct dentry *dentry, str
        inode = NULL;
        if (ino) {
                inode = ext2_iget(dir->i_sb, ino);
-               if (IS_ERR(inode)) {
-                       if (PTR_ERR(inode) == -ESTALE) {
-                               ext2_error(dir->i_sb, __func__,
-                                               "deleted inode referenced: %lu",
-                                               (unsigned long) ino);
-                               return ERR_PTR(-EIO);
-                       } else {
-                               return ERR_CAST(inode);
-                       }
+               if (inode == ERR_PTR(-ESTALE)) {
+                       ext2_error(dir->i_sb, __func__,
+                                       "deleted inode referenced: %lu",
+                                       (unsigned long) ino);
+                       return ERR_PTR(-EIO);
                }
        }
        return d_splice_alias(inode, dentry);
This page took 0.031599 seconds and 5 git commands to generate.