[Cluster-devel] Fix for unlink deadlock
Wendy Cheng
wcheng at redhat.com
Thu Feb 1 00:17:58 UTC 2007
On Tue, 2007-01-30 at 13:18 +0000, Steven Whitehouse wrote:
> 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.
hmm.. just untar Steve's git tree he sent me this morning few minutes
ago and spot this - sorry I should have read this post earlier ... Look
to me this will deadlock gfs2_rename() *again* (since it tries to grab
rindex lock multiple times). Will test this out tomorrow when I get the
connectathon cluster up.
-- Wendy
> 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