Re: is the inode an orphan?

From: Al Viro
Date: Thu Oct 18 2007 - 14:02:03 EST


On Thu, Oct 18, 2007 at 08:49:34PM +0300, Artem Bityutskiy wrote:
> Hi,
>
> I need a help from VFS folks: when I'm in ->unlink() in is there a safe way
> to to realize that ->delete_inod()e is going to be called? IOW, I'd like to
> call myfs_delete_inode() myself form ->unlink(), and not wait for VFS
> calling ->delete_inode().
>
> Or to put it differently, I'd like to know if the inode is an orphan or not
> in ->unlink()?
>
> AFAICS, if (inode->i_nlink == 0 && atomic_read(&inode->i_count) == 2) then
> this file is not going to be an orphan. And AFAIC judge, it is safe to use
> this, but I'm not sure and kindly ask for help.

Define orphan. It might very well be still opened after the only link
to it had been removed and you still will get IO on it.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/