qemu-block
[Top][All Lists]
Advanced

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

Re: [PATCH for 9.0] migration: Skip only empty block devices


From: Cédric Le Goater
Subject: Re: [PATCH for 9.0] migration: Skip only empty block devices
Date: Tue, 12 Mar 2024 13:15:22 +0100
User-agent: Mozilla Thunderbird

On 3/12/24 13:04, Cédric Le Goater wrote:
The block .save_setup() handler calls a helper routine
init_blk_migration() which builds a list of block devices to take into
account for migration. When one device is found to be empty (sectors
== 0), the loop exits and all the remaining devices are ignored. This
is a regression introduced when bdrv_iterate() was removed.

Change that by skipping only empty devices.

Cc: Markus Armbruster <armbru@redhat.com>
Suggested: Kevin Wolf <kwolf@redhat.com>

That's better :

Suggested-by: Kevin Wolf <kwolf@redhat.com>

Sorry for the noise,

C.


Fixes: fea68bb6e9fa ("block: Eliminate bdrv_iterate(), use bdrv_next()")
Signed-off-by: Cédric Le Goater <clg@redhat.com>
---
  migration/block.c | 5 ++++-
  1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/migration/block.c b/migration/block.c
index 
8c6ebafacc1ffe930d1d4f19d968817b14852c69..2b9054889ad2ba739828594c50cf047703757e96
 100644
--- a/migration/block.c
+++ b/migration/block.c
@@ -402,7 +402,10 @@ static int init_blk_migration(QEMUFile *f)
          }
sectors = bdrv_nb_sectors(bs);
-        if (sectors <= 0) {
+        if (sectors == 0) {
+            continue;
+        }
+        if (sectors < 0) {
              ret = sectors;
              bdrv_next_cleanup(&it);
              goto out;




reply via email to

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