[Cluster-devel] Fix for unlink deadlock

Steven Whitehouse swhiteho at redhat.com
Tue Jan 30 13:18:47 UTC 2007


Hi,

On Mon, 2007-01-29 at 17:13 -0600, Russell Cattelan wrote:
> Note the current glock code in the tree is completely busted
> and will dead lock almost immediately.
> 
> I have reverted several changes to glock.c and have 
> tested this patch with the older glock code.
> dbench will now run through to completion.
> 
> 
> https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=217356

Now applied to the -nmw git tree. I think the way to get around the
problem with not knowing whether the link count will hit zero is just to
remove the code which changes the link count from gfs2_change_nlink and
to turn that into a function which just syncs the current link count to
the on-disk inode.

It would also solve the problem of needing to work out whether to use
inc_nlink() or dec_nlink() to make the change to the link count. Due to
the forthcoming read-only bind mounts work, we must always use the
macros to change the link count rather than doing it directly.

Steve.





More information about the Cluster-devel mailing list