All Virtuozzo development lists (kernel + QEMU)
 help / color / mirror / Atom feed
From: Konstantin Khorenko <khorenko@virtuozzo.com>
To: Alexander Ivanov <alexander.ivanov@virtuozzo.com>
Cc: devel@openvz.org
Subject: Re: [Devel] [PATCH hci-8.1 v2 0/3] dm-qcow2: keep images of a read-only table unmodified
Date: Tue, 03 Nov 2026 17:30:57 +0100	[thread overview]
Message-ID: <179372345774.2497269.7291842798289238080.b4-review@b4> (raw)
In-Reply-To: <20261029144358.3384569-1-alexander.ivanov@virtuozzo.com>

Applying the series with these fixes on my side:

- Reviewed-by: Andrey Zhadchenko on all three patches, from the v1
  thread.
- patch 3: "requires to treat" -> "requires treating".

On 10/29/26 15:43, Alexander Ivanov wrote:
> A read-only dm-qcow2 table does not protect its images. Writes to the
> device pass through bio_check_ro() with a warning and allocate clusters
> in the top image, the unaligned tail of an O_RDWR top image is padded
> on .ctr and .preresume, and merge_backward modifies the lower image.

- Please create one more task, like VSTOR-152393..152395, and fix it
  separately: a data read of a read-only image with an unaligned tail
  never completes.

md_page_read_complete() zero-fills a short read near EOF, so metadata
pages are fine. data_rw_complete() is not: it advances past the short
read and resubmits, the next read starts at EOF and returns 0,
WARN_ON_ONCE() fires and the qio is resubmitted without progress. This
is old for O_RDONLY images and now also covers an O_RDWR image on a
read-only table, which patch 1 stops padding. qemu never leaves such a
tail, so it takes an externally truncated image. The fix is a zero fill
in data_rw_complete() like the metadata one.

-- 
Konstantin Khorenko,
Virtuozzo Linux Kernel Team

_______________________________________________
Devel mailing list
Devel@openvz.org
https://lists.openvz.org/mailman/listinfo/devel

  parent reply	other threads:[~2026-11-03 16:32 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-10-29 14:43 Alexander Ivanov
2026-10-29 14:43 ` [Devel] [PATCH hci-8.1 v2 1/3] drivers/md/dm-qcow2: treat images of a read-only table as read-only Alexander Ivanov
2026-10-29 14:48   ` no-reply
2026-11-03 16:30   ` Konstantin Khorenko
2026-10-29 14:43 ` [Devel] [PATCH hci-8.1 v2 2/3] drivers/md/dm-qcow2: fail writes to a read-only table Alexander Ivanov
2026-10-29 14:47   ` no-reply
2026-11-03 16:30   ` Konstantin Khorenko
2026-10-29 14:43 ` [Devel] [PATCH hci-8.1 v2 3/3] drivers/md/dm-qcow2: do not revalidate inconsistent persistent bitmaps Alexander Ivanov
2026-10-29 14:48   ` no-reply
2026-11-03 16:30   ` Konstantin Khorenko
2026-11-03 16:30 ` Konstantin Khorenko [this message]
2026-11-03 16:33 ` [Devel] [PATCH hci-8.1 v2 0/3] dm-qcow2: keep images of a read-only table unmodified Konstantin Khorenko

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=179372345774.2497269.7291842798289238080.b4-review@b4 \
    --to=khorenko@virtuozzo.com \
    --cc=alexander.ivanov@virtuozzo.com \
    --cc=devel@openvz.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.