I won't apply this version, please send v3 with the changes below.

On Tue, 10 Nov 2026 14:46:22 +0300, Andrey Zhadchenko wrote:
> Andrey Zhadchenko (7):
>   dm-qcow2: repeat md page lookup if it was inserted in parallel
>   dm-qcow2: wait for L2 writeback in perform_rw_mapped()
>   dm-qcow2: prepare process_one_qio() for fastpath
>   dm-qcow2: add per-qio work infrastructure
>   dm-qcow2: implement per-qio fast processing
>   dm-qcow2: process fast path qios in per-cpu batches on a workqueue
>   dm-qcow2: declare DM_TARGET_NOWAIT

All v1 items are done, and the DIRTY -> WRITEBACK race is closed.
What to change for v3:

1. Patch 2, code and commit message: in perform_rw_mapped(), under the
   lock it already takes, check that the L2 entry (and the ext_l2
   word) is still what parse_l2() saw and that the index is not
   locked; if not, hand the qio back to main kwork. In the message,
   "X freed" becomes "X leaked", and md->wbd is dropped not only by
   main kwork.

2. New patch: a writable module parameter (0644, on by default) that
   turns the fast path off. Check it with READ_ONCE() in qio_try_fast()
   and send every split to the deferred list when it is off.

3. Patch 5 and the cover letter: describe the window between the fast
   path parse and the data submit, where main kwork can discard, free
   and reuse the cluster, as a known limitation fixed by a follow-up
   series, and name its Jira issue. In patch 5, reword the line that
   starts with "From here on": it got mbox-escaped to ">From".

4. Answer Sashiko's open remarks: patch 1 (unbounded retry, the third
   time now; a bound of one retry is enough), patch 4 (qio_pool
   hold-and-wait) and patch 6 (preparation sleeps too).

Separate patches, not needed for v3:

1. Writes and reads racing with a discard of the same cluster:
   per-md write counters or discard locking, as you planned.

Details are in the replies to the patches.

-- 
Konstantin Khorenko,
Virtuozzo Linux Kernel Team

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

Reply via email to