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

Pavel Tikhomirov ptikhomirov at virtuozzo.com
Fri Feb 7 10:51:28 MSK 2025



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.

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



More information about the Devel mailing list