Re: Possibly bug in radix_tree_delete, and fix.

From: Andrew Morton
Date: Wed Feb 15 2006 - 22:54:44 EST


Nick Piggin <nickpiggin@xxxxxxxxxxxx> wrote:
>
> Neil Brown wrote:
> > Hi Nick,
> > I believe there is a bug in radix_tree_delete introduced by:
> >
> > http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff;h=d5274261ea46f0aae93820fe36628249120d2f75
> >
> > The nature of the bug is that if a tag is set on a node that is being
> > deleted, then that tag is unconditionally cleared in the parent of the
> > node, even if the deleted node has siblings with the tag still set.
> >
> > I don't know what the large-scale consequences of this bug might be,
> > but I'm kinda hoping fixing it will fix a nasty NFS client related
> > oops we are seeing in radix_tree_tag_set ....
> >
>
> I think you're right. I was kind of suspecting I might have introduced
> a silly bug somewhere after a couple of radix tree oopses popped up.

Oh fantastic - a filesystem corrupting bug.

> Not sure why it didn't trigger Andrew's test suite, but I guess that's
> something to add.

Could you please do so? And add in the previous enhancements you made? I
was never able to sort out the patches you sent. And test Neil's later
patch (which looks OK to me)?


-
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/