I have reviewed v3: no objections to the code, but a few texts need
changing, see below.

I can change them myself when applying the patches, or you send v4 -
your call, Andrey. Either way I am waiting for Alexander Ivanov's
review.

On Fri, 13 Nov 2026 14:11:18 +0300, Andrey Zhadchenko wrote:
> Known limitation: fast path reads are not counted, and nothing pins
> their cluster between the L2 parse and the data submit. Main kwork
> may discard the cluster, free it and reuse it for another allocation
> in that window, and a fast path read then returns the data of another
> guest offset. A follow-up series fixes this:
> https://virtuozzo.atlassian.net/browse/VSTOR-154659

All v2 items are done. The writer count closes the failed L2 writeback
and the discard that frees a cluster under a counted write, and I
found no code defect in v3. What is left is text:

1. Patch 1, commit message and the comment above __handle_md_page():
   a second miss does not fail the qio. submit_read_md_page() inserts
   the page again and issues a new read; -EIO comes only when that
   insert loses a race again.

2. Patch 3, commit message: "either the fast path sees the entry
   cleared" becomes "either the fast path sees the index locked".

3. Patch 5 and the cover letter: VSTOR-154659 is resolved, it is the
   write counting already in the tree. The read race is VSTOR-154939,
   closed as Won't Fix. Say that it is accepted, and name VSTOR-154939
   instead of a follow-up series.

4. Patch 7, commit message: add the md page read on a cache miss in
   parse_metadata() and the read splits in process_read_qio() to the
   list of sleeps, and say that punch hole waits for direct I/O on ext4
   and xfs only.

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