[Ocfs2-devel] What's the need of OCFS2_INODE_MAYBE_ORPHANED?

Joel Becker jlbec at evilplan.org
Mon Jan 13 07:42:01 PST 2014


On Thu, Jan 09, 2014 at 11:27:15AM -0600, Goldwyn Rodrigues wrote:
> >> Yes, I did not consider that.
> >> How about using open locks ro_holders count to identify this? That may
> >> just work. Thanks!
> > One problem I see in using open lock for this is it could be late.
> > Consider the scenario where node A removes the dentry and then the node
> > crashes before trying the try_open_lock. Node B does the file close
> > later but it doesn't know that the file was unlinked and doesn't do the
> > clean up.
> >
> > To me it appears OCFS2_INODE_MAYBE_ORPHANED is necessary. Any delay it
> > is causing must be addressed differently.
> 
> No, I don't mean to remove the OCFS2_INODE_MAYBE_ORPHANED flag, but set 
> it conditionally in ocfs2_dentry_convert_worker() based on the value of 
> the open locks held.

I'm confused by what you are attempting here.  We hold the dentry lock
until the final dpu() (see the comment in fs/ocfs2/dcache.c).  We should
never have ro_holders==0 unless we're flushing the entry from the
dcache.  Do you mean something else?

Joel

-- 

"Now Someone's on the telephone, desperate in his pain.
 Someone's on the bathroom floor doing her cocaine.
 Someone's got his finger on the button in some room.
 No one can convince me we aren't gluttons for our doom."

			http://www.jlbec.org/
			jlbec at evilplan.org



More information about the Ocfs2-devel mailing list