A write that fails with ENOSPC on the image is held and retried by
enospc_timer, so that I/O resumes once space is freed. Nothing wakes
the dispatcher for the retry, so the held writes stay in D state until
other I/O reaches the device (VSTOR-154182). The destructor is also
made to stop the timer and the event work.

Tested: writers held on a full image finish when enospc_timer next
expires after the space is freed; the ploop test suite passes.

v2: cancel event_work in ploop_destroy(), reword the messages.
v1: http://lore.virtuozzo.com/kernel/[email protected]/

Denis V. Lunev (2):
  dm-ploop: stop enospc_timer and event_work in ploop_destroy()
  dm-ploop: fix the ENOSPC retry timer not waking the dispatcher

 drivers/md/dm-ploop-map.c    | 9 +++++----
 drivers/md/dm-ploop-target.c | 2 ++
 2 files changed, 7 insertions(+), 4 deletions(-)

-- 
2.53.0

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

Reply via email to