> From: Denis V. Lunev <[email protected]>
> 
> ploop_locate_new_cluster_and_attach_pio() and
> ploop_process_one_discard_pio() set MD_UPDATING on the BAT page while
> they prepare its update. A pio that needs the page meanwhile is parked
> in md->wait_llist by ploop_delay_if_md_busy(), and only
> ploop_advance_local_after_bat_wb(), at the end of a writeback of the
> page, gives the parked pios back.
> 
> When the update fails, the error path breaks it, clears MD_DIRTY and
> MD_UPDATING and leaves the parked pios where they are. No writeback of
> the page is queued, so they are never resubmitted: the writers hang in
> D state, and after a buffered write every later sync on the host hangs
> behind them until a reboot. An allocation fails this way when
> ploop_prepare_bat_update() runs out of memory, when no free cluster is
> [ ... ]
> 
> Fixes: ddf38fa44df4 ("dm-ploop: fix and rework md updates")
> Reported-by: Denis Genov <[email protected]>
> Feature: dm-ploop: ploop target driver
> Signed-off-by: Denis V. Lunev <[email protected]>

Sashiko has reviewed this patch and found no issues. It looks great!

-- 
Sashiko AI review ยท 
https://sashiko.vzint.dev/#/patchset/[email protected]?part=2


_______________________________________________
Devel mailing list
[email protected]
https://lists.openvz.org/mailman/listinfo/devel

Reply via email to