[Devel] [RFC PATCH vz9 v6 23/62] dm-ploop: make new allocations immediately visible in BAT
Pavel Tikhomirov
ptikhomirov at virtuozzo.com
Mon Jan 20 10:41:37 MSK 2025
On 12/6/24 05:55, Alexander Atanasov wrote:
> @@ -1402,6 +1402,12 @@ static void ploop_submit_cow_index_wb(struct ploop_cow *cow)
> WARN_ON(to[clu]);
> WRITE_ONCE(to[clu], cow->dst_clu);
>
> + write_lock_irqsave(&md->lock, flags);
Should have _irq suffix.
> + to = md->kmpage;
> + WRITE_ONCE(to[clu], cow->dst_clu);
> + WRITE_ONCE(md->bat_levels[clu], ploop_top_level(ploop));
> + write_unlock_irqrestore(&md->lock, flags);
> +
> /* Prevent double clearing of holes_bitmap bit on complete_cow() */
> cow->dst_clu = BAT_ENTRY_NONE;
> spin_lock_irq(&ploop->deferred_lock);
Same as here.
note: Only possible call stack:
+-< ploop_submit_cow_index_wb
+-< ploop_process_one_delta_cow
| +-< ploop_process_delta_cow
| | +-< do_ploop_run_work
| | | +-< do_ploop_work
| | | +-< ploop_worker
it is always in process context.
--
Best regards, Tikhomirov Pavel
Senior Software Developer, Virtuozzo.
More information about the Devel
mailing list