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
