I won't apply this version, please send v2 with the changes below. On Mon, 9 Nov 2026 20:06:55 +0100, Denis V. Lunev wrote: > dm-ploop: fix writes held on ENOSPC never being retried
The code of both patches is right. For v2: 1. Patch 1: cancel event_work in ploop_destroy() next to the timer. 2. Patch 1 message: name mod_timer() after the wants_suspend test as the race, not the lockless test, and say what the user gets. 3. Patch 2 message: drop the wrong reason given for xchg(). 4. Patch 2 message: start a new paragraph at "The held writes are retried only...". 5. Cover letter: drop the vmcore paragraph and the measured numbers. > Found in a vmcore: 16 writers in D state, submit_enospc set, all 16 > pios on enospc_pios, the timer expired 12 s before the crash. Item 5. The cover letter goes into each commit as the "Patchset description", so this ends up in the git log. How the bug was found and the timings belong in VSTOR-154182, not in a commit message. > Tested on 6.12.0-211.52.1.22.19.vz10, dm-ploop built out of tree: > - 16 O_DIRECT writers held on a full host ext4, then the space freed > with no other I/O on the device. Stock: still stuck after 60 s, one > unrelated read releases them. With the series: done 8 s after the > space is freed, on the next timer tick; > - ploop test suite, make -j48 test on dev-cl04, green for ploop and > qcow2 with this series together with the VSTOR-154096 one. Same here: say what was tested (writers held on a full image, space freed with no other I/O, they finish when enospc_timer next expires; the ploop test suite passes), without the numbers and the host name. Separate patch, not for this series: dm-qcow2 has the same hole. qcow2_tgt_destroy() stops neither enospc_timer nor event_work, the mod_timer() in the ENOSPC path runs after event_lock is dropped, and presuspend uses timer_delete_sync_try() as well. -- Konstantin Khorenko, Virtuozzo Linux Kernel Team _______________________________________________ Devel mailing list [email protected] https://lists.openvz.org/mailman/listinfo/devel
