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

Alexander Atanasov alexander.atanasov at virtuozzo.com
Fri Feb 7 11:04:18 MSK 2025


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.

-- 
Regards,
Alexander Atanasov



More information about the Devel mailing list