From: Max Reitz <mre...@redhat.com>

This flag should not be set for the root BDS only, but for any BDS that
is being created while incoming migration is pending, so setting it is
moved from blockdev_init() to bdrv_fill_options().

Signed-off-by: Max Reitz <mre...@redhat.com>
Reviewed-by: Eric Blake <ebl...@redhat.com>
Reviewed-by: Kevin Wolf <kw...@redhat.com>
Reviewed-by: Alberto Garcia <be...@igalia.com>
Signed-off-by: Kevin Wolf <kw...@redhat.com>
---
 block.c    | 4 ++++
 blockdev.c | 4 ----
 2 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/block.c b/block.c
index 6771c3a..d1bf121 100644
--- a/block.c
+++ b/block.c
@@ -1081,6 +1081,10 @@ static int bdrv_fill_options(QDict **options, const char 
**pfilename,
         }
     }
 
+    if (runstate_check(RUN_STATE_INMIGRATE)) {
+        *flags |= BDRV_O_INCOMING;
+    }
+
     return 0;
 }
 
diff --git a/blockdev.c b/blockdev.c
index 8141b6b..27398b1 100644
--- a/blockdev.c
+++ b/blockdev.c
@@ -537,10 +537,6 @@ static BlockBackend *blockdev_init(const char *file, QDict 
*bs_opts,
             bdrv_flags |= BDRV_O_COPY_ON_READ;
         }
 
-        if (runstate_check(RUN_STATE_INMIGRATE)) {
-            bdrv_flags |= BDRV_O_INCOMING;
-        }
-
         bdrv_flags |= ro ? 0 : BDRV_O_RDWR;
 
         blk = blk_new_open(qemu_opts_id(opts), file, NULL, bs_opts, bdrv_flags,
-- 
1.8.3.1


Reply via email to