No objections to the code, a text change below: I fix it when
applying or you send v4, see the cover letter reply.

On Fri, 13 Nov 2026 14:11:19 +0300, Andrey Zhadchenko wrote:
> Repeat it once only. The second lookup misses the page only if its
> read failed and erased it in between, and then the qio fails with
> -EIO as the qios waiting for that read did.

Item 1 of the cover letter reply: describe what the code does on a
second miss, here and in the comment below.

> + * submit_read_md_page() drops md_pages_lock, so the page may be
> + * inserted in parallel. Then it is looked up once more. It is not
> + * found again only if its read failed in the meantime, and then
> + * @qio fails too.

Why: Sashiko is right on v3. When the second lookup misses,
__handle_md_page() calls submit_read_md_page() again, which inserts a
new page, queues the qio on it and reads it. The qio is retried, not
failed. -EIO is returned only if that second insert gets -EEXIST too.
Both outcomes are fine, only the text is wrong.

-- 
Konstantin Khorenko,
Virtuozzo Linux Kernel Team

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

Reply via email to