On 10/5/18 6:39 PM, Max Reitz wrote:
Before this patch, bdrv_refresh_filename() is used in a pushing manner:
Whenever the BDS graph is modified, the parents of the modified edges
are supposed to be updated (recursively upwards).  However, that is
nonviable, considering that we want child changes not to concern
parents.


  include/block/block.h |  1 -
  block.c               | 31 +++++++++++++++----------------
  block/qapi.c          |  4 ++++
  block/raw-format.c    |  1 +
  block/replication.c   |  2 --
  block/vhdx-log.c      |  1 +
  block/vmdk.c          |  6 ++++++
  block/vpc.c           |  4 +++-
  blockdev.c            |  8 ++++++++
  9 files changed, 38 insertions(+), 20 deletions(-)


+++ b/block/vpc.c
@@ -284,9 +284,11 @@ static int vpc_open(BlockDriverState *bs, QDict *options, 
int flags,
checksum = be32_to_cpu(footer->checksum);
      footer->checksum = 0;
-    if (vpc_checksum(s->footer_buf, HEADER_SIZE) != checksum)
+    if (vpc_checksum(s->footer_buf, HEADER_SIZE) != checksum) {
+        bdrv_refresh_filename(bs);
          fprintf(stderr, "block-vpc: The header checksum of '%s' is "
              "incorrect.\n", bs->filename);
+    }

In the intervening month, this now conflicts. I'm guessing we'll see a v12 targeted for 4.0, since your other series on "block: Deal with filters" depends on this one?

--
Eric Blake, Principal Software Engineer
Red Hat, Inc.           +1-919-301-3266
Virtualization:  qemu.org | libvirt.org

Reply via email to