Patchwork [v2] Block migration fail, ignore error from bdrv_getlength

login
register
mail settings
Submitter Shahar Havivi
Date July 10, 2010, 3:59 p.m.
Message ID <20100710155902.GA7402@redhat.com>
Download mbox | patch
Permalink /patch/58489/
State New
Headers show

Comments

Shahar Havivi - July 10, 2010, 3:59 p.m.
When there is no block driver associate with BlockDriverState bdrv_getlength
returns -ENOMEDIUM that cause block migration to fail

v2:
fix sectors<0 to sectors<=0

Signed-off-by: Shahar Havivi <shaharh@redhat.com>
---
 block-migration.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)
Kevin Wolf - July 12, 2010, 8:09 a.m.
Am 10.07.2010 17:59, schrieb Shahar Havivi:
> When there is no block driver associate with BlockDriverState bdrv_getlength
> returns -ENOMEDIUM that cause block migration to fail
> 
> v2:
> fix sectors<0 to sectors<=0

Please put the changes between patch versions below the --- line so that
git am ignores it.

> 
> Signed-off-by: Shahar Havivi <shaharh@redhat.com>
> ---
>  block-migration.c |    2 +-
>  1 files changed, 1 insertions(+), 1 deletions(-)
> 
> diff --git a/block-migration.c b/block-migration.c
> index 7db6f02..a77106e 100644
> --- a/block-migration.c
> +++ b/block-migration.c
> @@ -238,7 +238,7 @@ static void init_blk_migration_it(void *opaque, BlockDriverState *bs)
>  
>      if (!bdrv_is_read_only(bs)) {
>          sectors = bdrv_getlength(bs) >> BDRV_SECTOR_BITS;
> -        if (sectors == 0) {
> +        if (sectors <= 0) {
>              return;
>          }
>  

Dealing with -errno shifted by 9 looks really strange, but it should be
correct (sectors being -1 for error cases in practice).

Thanks, applied to the block branch.

Kevin

Patch

diff --git a/block-migration.c b/block-migration.c
index 7db6f02..a77106e 100644
--- a/block-migration.c
+++ b/block-migration.c
@@ -238,7 +238,7 @@  static void init_blk_migration_it(void *opaque, BlockDriverState *bs)
 
     if (!bdrv_is_read_only(bs)) {
         sectors = bdrv_getlength(bs) >> BDRV_SECTOR_BITS;
-        if (sectors == 0) {
+        if (sectors <= 0) {
             return;
         }