Re: [RFC PATCH ext3/ext4] orphan list corruption due bad inode

Christoph Hellwig
2007-06-05T06:13:31Z

On Tue, Jun 05, 2007 at 10:11:12AM +0400, Vasily Averin wrote:
> >> return d_splice_alias(inode, dentry);
> >> }
> > Seems reasonable. So this prevents the bad inodes from getting onto the
> > orphan list in the first place?
>
> make_bad_inode() is called from ext3_read_inode() that is called from iget() only.

Which is artefact of using the read_inode interface. Please switch from
iget to iget_locked and you can handle this case without ever inserting the
"bad" inode into the inode hash.