[Devel] [PATCH hci-8.1 v3 0/3] dm-qcow2: truncate unused tail of image on suspend

Denis V. Lunev den at virtuozzo.com
Thu Oct 8 13:59:05 MSK 2026


On 10/8/26 12:04, Alexander Ivanov wrote:
> On postsuspend dm-qcow2 truncates the image file only down to
> file_preallocated_area_start, so clusters at the end of the file freed
> by discard are never given back and the file never shrinks.
>
> This series makes postsuspend scan the refcount blocks backward and
> truncate the file to the end of the last used cluster.
>
> Patch 1 adds qcow2_md_page_read_sync() helper, which is needed by the
> scan. Patch 2 is a small cleanup of duplicate prefixes in QC_ERR/QC_INFO
> messages. Patch 3 does the actual truncation.
>
> https://virtuozzo.atlassian.net/browse/VSTOR-148171
>
> v3:
> - Split from the common series with dm-ploop: dm-ploop patches are
>   sent as a separate series.
> - Patch 1: rename qcow2_get_md_page_sync() to qcow2_md_page_read_sync(),
>   reword commit message and comment.
> - Patch 2: new patch.
> - Patch 3: start the scan from file_preallocated_area_start instead of
>   the end of the file and clamp the result to it, as the last cluster
>   may be partial; print the scan error with %pe and drop the duplicate
>   "dm-qcow2:" prefix from it.
>
> v2:
> - Add dm-ploop support (patches 3-6), as requested in v1 review.
> - dm-qcow2: move get_md_page_sync() to a separate patch as
>   qcow2_md_page_read_sync() and use it in qcow2_parse_header() as well.
> - dm-qcow2: start the refcount scan below file_preallocated_area_start
>   instead of the end of the file, and truncate to the used end directly
>   instead of min(file_preallocated_area_start, used end).
>
> Alexander Ivanov (3):
>   dm-qcow2: add qcow2_md_page_read_sync() helper
>   dm-qcow2: drop duplicate prefix from QC_ERR/QC_INFO messages
>   dm-qcow2: truncate unused tail of image on suspend
>
>  drivers/md/dm-qcow2-map.c    | 56 ++++++++++++++++++++++++++
>  drivers/md/dm-qcow2-target.c | 78 ++++++++++++++++++++++++++----------
>  drivers/md/dm-qcow2.h        |  3 ++
>  3 files changed, 116 insertions(+), 21 deletions(-)
>
with 2 nits in comments

Reviewed-by: Denis V. Lunev <den at openvz.org>


More information about the Devel mailing list