> From: Denis V. Lunev <[email protected]>
> 
> A write that fails with ENOSPC on the image is held on enospc_pios and
> retried when enospc_timer fires, so that I/O resumes once space is
> freed. ploop_enospc_timer() only sets submit_enospc, which only
> do_ploop_run_work() consumes, and nothing wakes the dispatcher for it.
> ploop_worker() also goes to sleep with the flag set, as its sleep
> condition checks the pio lists only.
> 
> The held writes are retried only when other I/O reaches the device: on
> a device whose only I/O is the held writes, the writers stay in D state
> after the space is freed.
> 
> Wake the dispatcher from the timer, and keep ploop_worker() awake while
> submit_enospc is set, so that a wakeup that comes while the dispatcher
> is busy is not lost. Test and clear the flag with xchg() in
> do_ploop_run_work().
> 
> https://virtuozzo.atlassian.net/browse/VSTOR-154182
> 
> Fixes: afc60480b037 ("dm-ploop: resubmit enospc pios from dispatcher thread")
> Feature: dm-ploop: ploop target driver
> Signed-off-by: Denis V. Lunev <[email protected]>

This patch is unchanged since "[Devel] [PATCH hci-8.1 2/2] dm-ploop: fix the 
ENOSPC retry timer not waking the dispatcher", which Sashiko reviewed and found 
no issues in. That review applies to this posting unaltered, so the patch has 
not been reviewed again.

-- 
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