[linux-lvm] clvmd-corosync should check lksb.sb_status instead of return code ?

Chrissie Caulfield ccaulfie at redhat.com
Wed Feb 25 13:52:56 UTC 2009


Xinwei Hu wrote:
> Hi Chrissie,
> 
>   You are right. It should be returned in errno. Also, it seems errno
> should positive as lksb.sb_status too.
> 
>   I modified the patch a little bit further.
> 
>   Any comments ?


Hi

You're right ... this kernel-itis is catching! lksb status are indeed
positive and correct for returning as errno.

I'll commit this patch

Thank you.

Chrissie

> 2009/2/25 Chrissie Caulfield <ccaulfie at redhat.com>:
>> Xinwei Hu wrote:
>>> Hi all,
>>>
>>>   In clvmd-corosync, lock_resource calls dlm_ls_lock_wait with flags
>>> set to LKF_NOQUEUE.
>>>   When LKF_NOQUEUE is set, the return code of dlm_ls_lock_wait is
>>> always 0, while the actual errno is in lksb.sb_status.
>>>
>>>   This causes problem when using vgchange -aey or something like.
>>>
>>>   I attached a patch to try to fix this issue.
>>>
>>>   Please help to review. Thanks.
>> Hi
>>
>> You are correct, the functions do need to check the LKSB. Your patch
>> isn't quite right I don't think though - the lksb status should be
>> returned in errno as shown below:
>>
>> --
>>
>> Chrissie




More information about the linux-lvm mailing list