[lvm-devel] [PATCH] clvmd: try to refresh device cache on the first failure

Eric Ren zren at suse.com
Wed May 31 05:37:00 UTC 2017


Hi Zdenek,


On 05/24/2017 05:45 PM, Eric Ren wrote:
> Hi!
>
> On 05/24/2017 04:59 PM, Zdenek Kabelac wrote:
>> Hi
>>
>> Looking at the patch header - it doesn't really look like solution 
>> for clustered problem clvmd cannot be resolve out-of-sync trouble of 
>> your cluster - it'd be likely masking serious problems elsewhere.
>
> Sorry, I should send this one as RFC instead:-)
>
>>
>> So could you please start with regular trouble report first - i.e. 
>> what do you mean by 'sometimes' ???
> This issue was first reported here:
> https://www.redhat.com/archives/lvm-devel/2017-May/msg00058.html
>
> I also record one way how to reproduce:
> https://asciinema.org/a/c62ica4ptxe94nw2s593yto4i
>
> By "sometimes", I meant the time when the device cache in clvmd is not 
> updated.
>
> It turns out I'm wrong in understanding the root cause of this 
> problem, after discussion with Alasdair on IRC.
> After I set "obtain_device_list_from_udev = 0" in lvm.conf, the 
> locking error disappeared, which means udev
> DB is not sync with device changes - MD device, isscsi device 
> according to my test.

I was cheated by setting "obtain_device_list_from_udev = 0", because in 
daemons/clvmd/lvm-functions.c :
do_lock_lv()
{
       if (!cmd->initialized.config || config_files_changed(cmd)) /* 
lvm.conf is changed when I firstly set obtain_device_list_from_udev */
            do_refresh_cache();   /* refresh device cache and metadata */
}

I attached a patch trying to fix this issue. Yes, this patch looks not 
neat. But, as of now, it's the best one I can think of.
Welcome review and feedback from you:-P

Regards,
Eric



-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0001-pvscan-device-cache-in-clvmd-is-not-refreshed-as-nee.patch
Type: text/x-patch
Size: 3234 bytes
Desc: not available
URL: <http://listman.redhat.com/archives/lvm-devel/attachments/20170531/46a3478e/attachment.bin>


More information about the lvm-devel mailing list