Unverified Commit d7442120 authored by openeuler-ci-bot's avatar openeuler-ci-bot Committed by Gitee
Browse files
parents 9f63c157 52191957
Loading
Loading
Loading
Loading
+7 −1
Original line number Diff line number Diff line
@@ -614,8 +614,14 @@ struct inode *nilfs_iget(struct super_block *sb, struct nilfs_root *root,
	inode = nilfs_iget_locked(sb, root, ino);
	if (unlikely(!inode))
		return ERR_PTR(-ENOMEM);
	if (!(inode->i_state & I_NEW))

	if (!(inode->i_state & I_NEW)) {
		if (!inode->i_nlink) {
			iput(inode);
			return ERR_PTR(-ESTALE);
		}
		return inode;
	}

	err = __nilfs_read_inode(sb, root, ino, inode);
	if (unlikely(err)) {
+5 −0
Original line number Diff line number Diff line
@@ -67,6 +67,11 @@ nilfs_lookup(struct inode *dir, struct dentry *dentry, unsigned int flags)
		inode = NULL;
	} else {
		inode = nilfs_iget(dir->i_sb, NILFS_I(dir)->i_root, ino);
		if (inode == ERR_PTR(-ESTALE)) {
			nilfs_error(dir->i_sb,
					"deleted inode referenced: %lu", ino);
			return ERR_PTR(-EIO);
		}
	}

	return d_splice_alias(inode, dentry);