Skip to content

block: commits of snapshots larger than backing files

Jeff Cody qemu-devel 5 versions – Applied

Status from this message: Thanks, applied to the block branch.

Get series with b4
b4 am [email protected]

Versions newest first · linked by author and title

  1. v5 Latest3 patches 1 replyApplied
  2. v43 patches 2 repliesSuperseded
  3. v33 patches 7 repliesSuperseded
Earlier versions · 2
VersionPostedPatchesRepliesStatus
v23 patches7 repliesSuperseded
v12 patches5 repliesSuperseded

Patches in v5 Applied

#Subject and filesSizeRepliesApplied
1/3block: resize backing file image during offline commit, if necessaryblock.c+25 -30 replies
2/3block: resize backing image during active layer commit, if neededblock/mirror.c+38 -00 replies
3/3block: update block commit documentation regarding image truncationhmp-commands.hx qapi-schema.json qemu-img.texi +1 more+57 -10 replies

Reviews trailers per patch

All 3 patches have a Reviewed-by or Acked-by.

PatchEric BlakeBenoit CanetFam Zheng
1/3R-b R-b R-b
2/3R-b R-b
3/3R-b R-b

Trailers given in replies are filled; those carried in the patches from earlier versions are outlined with dashes. Scroll the table sideways for all 3 reviewers.

Read the v5 thread

Cover letter [Qemu-devel] [PATCH v5 0/3] block: commits of snapshots larger than backing files

Changes, v4->v5

Patch 1/3: Update ret in bdrv_commit() (Kevin)
Patch 2/3: None
Patch 3/3: None

Changes, v3->v4

Patch 1/3: Commit message typo (Eric)
Patch 2/3: Removed dead code (Benoît)
Patch 3/3: None

Changes, v2->v3:

Patch 1/3: None
Patch 2/3: Set errp for both bdrv_getlength() failure cases (Fam)
Remove "." from error message (Eric Blake)
Patch 3/3: Removed spurious double space (Eric Blake)

Changes, v1->v2:

Patch 1/3: Added error check for bdrv_getlength() return (Stefan) Patch 2/3: Restore flags in commit_active_start() on failures after
the bdrv_reopen() (Fam)
Patch 3/3: New patch, adds documentation clarification for the behavior
of both offline commit, and live block commit, as it pertains to image truncation. (Stefan)

If a snapshot is larger than a backing file, then the offline bdrv_commit and the live active layer commit will fail with an i/o error (usually). A live commit of a non-active layer will complete successfully, as it runs bdrv_truncate() on the backing image to resize it to the larger size.

For both bdrv_commit() and commit_active_start(), this series will resize the underlying base image if needed. If the resize fails, an error will be returned.

Jeff Cody (3):
block: resize backing file image during offline commit, if necessary
block: resize backing image during active layer commit, if needed
block: update block commit documentation regarding image truncation

 block.c          | 28 +++++++++++++++++++++++++---
 block/mirror.c   | 38 ++++++++++++++++++++++++++++++++++++++
 hmp-commands.hx  |  5 +++++
 qapi-schema.json |  7 +++++++
 qemu-img.texi    |  7 ++++++-
 qmp-commands.hx  | 39 +++++++++++++++++++++++++++++++++++++++
 6 files changed, 120 insertions(+), 4 deletions(-)
Signature · 1 line
1.8.3.1