[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH for 9.0] migration: Skip only empty block devices
From: |
Peter Xu |
Subject: |
Re: [PATCH for 9.0] migration: Skip only empty block devices |
Date: |
Tue, 12 Mar 2024 08:27:34 -0400 |
On Tue, Mar 12, 2024 at 01:04:31PM +0100, 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>
This should be:
Suggested-by: Kevin Wolf <kwolf@redhat.com>
I think the missed "by" caused Kevin not in the cc list, I added Kevin in.
I'll hold a bit for Kevin to ACK, no repost needed just for above; I can
fix it.
Thanks,
> 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;
> --
> 2.44.0
>
>
--
Peter Xu