Re: [patch] btrfs: fix inode rbtree corruption

Jens Axboe
2009-08-18T21:19:10Z

On Wed, Aug 19 2009, Yan, Zheng wrote:
> 2009/8/19 Nick Piggin <npiggin@suse.de>:
> > Hi,
> >
> > Ran into a problem stress testing my btrfs truncate conversion attempt...
> > Unfortunately it was an existing btrfs problem. Fortunately I think I
> > was able to fix it.
> >
> > Thanks,
> > Nick
> >
> > --
> > btrfs: fix inode rbtree corruption
> >
> > Node may not be inserted over existing node. This causes inode tree
> > corruption and I was seeing crashes in inode_tree_del which I can not
> > reproduce after this patch.
> >
> > The other way to fix this would be to tie inode lifetime in the rbtree
> > with inode while not in freeing state. I had a look at this but it is
> > not so trivial at this point. At least this patch gets things working again.
> >
>
> I'm not quite understand this. rbtree allows entries having the same keys.
> I guess your problem is because of some nodes get inserted into the tree
> twice. But I have no idea how can it happen.

It can work with key aliases, if it's a problem then it's likely due to
another problem in related lookup code.

--
Jens Axboe