[Ocfs2-devel] [PATCH] ocfs2/dlm: remove unreasonable BUG_ON()

Sunil Mushran sunil.mushran at oracle.com
Tue May 25 19:27:03 PDT 2010


On 05/25/2010 06:54 PM, Wengang Wang wrote:
> On 10-05-25 10:22, Sunil Mushran wrote:
>    
>> NAK
>>
>> How did this lockres get into the dirty list? The dlm only adds locks that
>> it owns to that list. And such locks, by definition, can never be in the
>> recovery list.
>>      
> Yes that my description is not good.
>
> Actually, I hit the BUG_ON(res->owner != dlm->node_num); during some tests.
>
> When an recovery happened, the lockres' that is owned by the "dead" node is
> marked as in recovery and the owner is set as unknown. But note that a lockres
> owned by this node can also be marked as in recovery(and owner changed to
> unknown). That can happen when a migration for the lockres is in progress with
> the "dead" node. see dlm_clean_master_list().
>
> So it's that the owner changed from dlm->node_num to unknown when the
> lockres is already on the list.
>    

Ok. That needs fixing. But it's a lot more involved than this. I had
discussed this with Srini some time back.



More information about the Ocfs2-devel mailing list