> 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
