Re: [patch] stop inotify from sending random DELETE_SELF event under load

Joel Becker
2005-09-21T09:16:21Z

On Wed, Sep 21, 2005 at 09:35:25AM +0100, Christoph Hellwig wrote:
> On Wed, Sep 21, 2005 at 03:36:01AM +0100, Al Viro wrote:
> > I have no problems with killing ->drop_inode(), but that should be
> > a) done for in-tree filesystems
> > b) announced on fsdevel, so that out-of-tree folks could deal
> > with that
> > c) given at least one release to avoid screwing them.
>
> sure. Note that clusterfs folks (ocfs2 in particular) really want
> ->drop_inode because they need additional checks instead of just the
> nlink one in there. While hugetlbfs should just go away ->drop_inode
> makes some sense for them.

My apologies for not having read the inotify thread, I'll go
look in the morning.
In ->drop_inode(), OCFS2 takes care of noticing that nlink has
been changed by a remote node. This is necessary for
generic_drop...delete operation to proceed.
If OCFS2 had to go back to the 2.4 method of checking i_count==1
in ->put_inode(), I'm not sure we're allowed to modify i_nlink there
unlocked, are we?
I also think we had some sort of race with inode_lock that
->drop_inode() avoids, but I'm not sure. Mark?

Joel

--

"For every complex problem there exists a solution that is brief,
concise, and totally wrong."
-Unknown

Joel Becker
Principal Software Developer
Oracle
E-mail: joel.becker@oracle.com
Phone: (650) 506-8127