[Devel] [PATCH hci-8.1 v2 0/3] dm-qcow2: keep images of a read-only table unmodified

Alexander Ivanov alexander.ivanov at virtuozzo.com
Thu Oct 29 17:43:55 MSK 2026


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.
Since the header is not updated for a read-only table, persistent
bitmaps stay marked consistent while the data under them changes.

Patch 1 makes an image writable only if both its file and the table
are writable. Patch 2 fails writes to a read-only table. Patch 3 keeps
the bitmaps autoclear bit clear if it is already clear in the image,
so that a later writable open does not revalidate stale bitmaps.

v2:
- patch 1: describe the tail padding and the discard and merge paths
  correctly; point the EOF read comment at qcow2_parse_header()
- patch 2: drop the comment on the read-only check
- patch 3: drop the comment on the autoclear check; add a Fixes tag

https://virtuozzo.atlassian.net/browse/VSTOR-138887

Alexander Ivanov (3):
  drivers/md/dm-qcow2: treat images of a read-only table as read-only
  drivers/md/dm-qcow2: fail writes to a read-only table
  drivers/md/dm-qcow2: do not revalidate inconsistent persistent bitmaps

 drivers/md/dm-qcow2-map.c    | 10 ++++++----
 drivers/md/dm-qcow2-target.c | 10 ++++++----
 drivers/md/dm-qcow2.h        |  3 ++-
 3 files changed, 14 insertions(+), 9 deletions(-)

-- 
2.53.0



More information about the Devel mailing list