[Devel] [PATCH vz9 v1 35/63] dm-ploop: prepare bat updates under bat_lock

Pavel Tikhomirov ptikhomirov at virtuozzo.com
Fri Feb 7 11:08:37 MSK 2025



On 2/7/25 16:04, Alexander Atanasov wrote:
> On 7.02.25 9:51, Pavel Tikhomirov wrote:
>>
>>
>> On 1/24/25 23:36, Alexander Atanasov wrote:
>>> @@ -946,6 +953,8 @@ static int ploop_prepare_bat_update(struct ploop 
>>> *ploop, struct md_page *md,
>>>       map_index_t *to;
>>>       u8 level;
>>> +    lockdep_assert_held(&ploop->bat_lock);
>>> +
>>>       piwb = kmalloc(sizeof(*piwb), GFP_NOIO);
>>>       if (!piwb)
>>>           return -ENOMEM;
>>
>>
>> I don't see bat_lock in this call stack:
>>
>>    +-< ploop_prepare_bat_update
>>      +-< ploop_prepare_reloc_index_wb
>>      | +-< ploop_grow_update_header
>>      | | +-< ploop_process_resize_cmd
>>
>> I guess we need to fix locking in ploop_process_resize_cmd, by moving 
>> ploop_grow_update_header under lock.
>>
> 
> 
> Resize and commands were done in a later pass, there are fixes in later 
> patches.

I don't see it in rh9-5.14.0-427.44.1.vz9.80.12, so I assume it's not 
yet fixed.

> 

-- 
Best regards, Tikhomirov Pavel
Senior Software Developer, Virtuozzo.



More information about the Devel mailing list