Re: [PATCH 10/14] dlm: don't use idr_remove_all()

From: Tejun Heo
Date: Thu Jan 31 2013 - 18:53:34 EST


Hello, David.

Sorry about the delay.

On Wed, Jan 30, 2013 at 04:24:18PM -0500, David Teigland wrote:
> > Unfortunately, the list_for_each_entry doesn't seem to be clearing
> > everything. I've seen "warning: recover_list_count 39" at the end of that
> > function.
>
> I don't want to pretend to understand the internals of this idr code, but
> it's not clear that idr_for_each is equivalent to idr_for_each_entry when
> iterating through all id values. The "++id" in idr_for_each_entry looks
> like it could lead to some missed entries? The comment about idr_get_next
> returning the "next number to given id" sounds like an entry with an id of
> "++id" would be missed.

The function description is misleading. The function does search
inclusive range and needs explicit cursor increment to make progress.
Weird that it doesn't work. Looking into it. I'll write when I know
more.

Thanks!

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