qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [RFC PATCH 10/14] allow the backing image access the or


From: Max Reitz
Subject: Re: [Qemu-devel] [RFC PATCH 10/14] allow the backing image access the origin BlockDriverState
Date: Mon, 23 Feb 2015 17:01:10 -0500
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.4.0

On 2015-02-11 at 22:07, Wen Congyang wrote:
Block replication needs this feature.

Signed-off-by: Wen Congyang <address@hidden>
Signed-off-by: zhanghailiang <address@hidden>
Signed-off-by: Gonglei <address@hidden>
---
  block.c                   | 2 ++
  include/block/block_int.h | 2 ++
  2 files changed, 4 insertions(+)

diff --git a/block.c b/block.c
index a7a8932..067c44b 100644
--- a/block.c
+++ b/block.c
@@ -1181,6 +1181,7 @@ void bdrv_set_backing_hd(BlockDriverState *bs, 
BlockDriverState *backing_hd)
      if (bs->backing_hd) {
          assert(bs->backing_blocker);
          bdrv_op_unblock_all(bs->backing_hd, bs->backing_blocker);
+        bs->backing_hd->origin_file = NULL;

Seems more like "backed_file" to me. Can you explain to me where "origin file" comes from?

Since apparently one BDS can be used as a backing file by only at most one other BDS, the patch seems fine to me (other than the naming issue).

Max

      } else if (backing_hd) {
          error_setg(&bs->backing_blocker,
                     "device is used as backing hd of '%s'",
@@ -1193,6 +1194,7 @@ void bdrv_set_backing_hd(BlockDriverState *bs, 
BlockDriverState *backing_hd)
          bs->backing_blocker = NULL;
          goto out;
      }
+    backing_hd->origin_file = bs;
      bs->open_flags &= ~BDRV_O_NO_BACKING;
      pstrcpy(bs->backing_file, sizeof(bs->backing_file), backing_hd->filename);
      pstrcpy(bs->backing_format, sizeof(bs->backing_format),
diff --git a/include/block/block_int.h b/include/block/block_int.h
index 603f704..9be13a8 100644
--- a/include/block/block_int.h
+++ b/include/block/block_int.h
@@ -360,6 +360,8 @@ struct BlockDriverState {
      char exact_filename[PATH_MAX];
BlockDriverState *backing_hd;
+    /* used by backing image */
+    BlockDriverState *origin_file;
      BlockDriverState *file;
NotifierList close_notifiers;




reply via email to

[Prev in Thread] Current Thread [Next in Thread]