qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [PATCH V3 5/7] block: Add infinite loop check in drive_


From: Fam Zheng
Subject: Re: [Qemu-devel] [PATCH V3 5/7] block: Add infinite loop check in drive_init()
Date: Thu, 18 Jul 2013 13:27:23 +0800
User-agent: Mutt/1.5.21 (2010-09-15)

On Mon, 07/15 05:42, Xu Wang wrote:
> Backing file should be checked if there is a loop in it during image
> boot. Becase if there is loop qemu would no response for a long time
> and segment fault occured. So this patch would check backing file
> chain if there is loop in it before open image.
> 
> Signed-off-by: Xu Wang <address@hidden>
> ---
>  blockdev.c | 6 ++++++
>  1 file changed, 6 insertions(+)
> 
> diff --git a/blockdev.c b/blockdev.c
> index b3a57e0..b5f063f 100644
> --- a/blockdev.c
> +++ b/blockdev.c
> @@ -695,6 +695,12 @@ DriveInfo *drive_init(QemuOpts *all_opts, 
> BlockInterfaceType block_default_type)
>          error_report("warning: disabling copy_on_read on readonly drive");
>      }
>  
> +    /* Add backing file loop check */
> +    if (bdrv_backing_file_loop_check(file, drv ? drv->format_name : NULL,
> +                                     NULL, NULL)) {

Would you add an error_report here, as other error paths do?

> +        goto err;
> +    }
> +
>      ret = bdrv_open(dinfo->bdrv, file, bs_opts, bdrv_flags, drv);
>      bs_opts = NULL;
>  
> -- 
> 1.8.1.4
> 

-- 
Fam



reply via email to

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