[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH V6 2/5] qemu-img: Add infinite loop checking in
From: |
Jeff Cody |
Subject: |
Re: [Qemu-devel] [PATCH V6 2/5] qemu-img: Add infinite loop checking in bdrv_new_open() |
Date: |
Fri, 8 Nov 2013 11:19:35 -0500 |
User-agent: |
Mutt/1.5.21 (2010-09-15) |
On Tue, Nov 05, 2013 at 10:09:18PM -0500, Xu Wang wrote:
> Every image should be checked if there is infinite loop in backing
> file chain before open it. So infinite loop check was added into
> bdrv_new_open(). If @filename is opened without the flag
> BDRV_O_NO_BACKING, the infinite loop check should be called.
>
> Signed-off-by: Xu Wang <address@hidden>
> ---
> qemu-img.c | 8 ++++++++
> 1 file changed, 8 insertions(+)
>
> diff --git a/qemu-img.c b/qemu-img.c
> index d5ec45b..3af7996 100644
> --- a/qemu-img.c
> +++ b/qemu-img.c
> @@ -281,6 +281,14 @@ static BlockDriverState *bdrv_new_open(const char
> *filename,
> drv = NULL;
> }
>
> + /* check backing file loop if the whole chain need to be opened */
> + if (!(flags & BDRV_O_NO_BACKING) &&
> + !bdrv_backing_chain_okay(filename, fmt)) {
> + error_report("bdrv_new_open: Open %s failed. There is loop exists "
> + "in the backing chain", filename);
I suggest rewording this for grammar; something like:
+ error_report("bdrv_new_open: Open %s failed. An infinite loop exists "
+ "in the backing chain", filename);
> + goto fail;
> + }
> +
> ret = bdrv_open(bs, filename, NULL, flags, drv, &local_err);
> if (ret < 0) {
> error_report("Could not open '%s': %s", filename,
> --
> 1.8.1.4
>
>
- [Qemu-devel] [PATCH V6 0/5] Refine and export backing file loop check, Xu Wang, 2013/11/05
- [Qemu-devel] [PATCH V6 2/5] qemu-img: Add infinite loop checking in bdrv_new_open(), Xu Wang, 2013/11/05
- [Qemu-devel] [PATCH V6 3/5] block: Add check infinite loop in bdrv_img_create(), Xu Wang, 2013/11/05
- [Qemu-devel] [PATCH V6 4/5] block: Add backing file loop check in change_backing_file(), Xu Wang, 2013/11/05
- [Qemu-devel] [PATCH V6 5/5] blockdev: Add infinite loop check in drive_init(), Xu Wang, 2013/11/05