All of lore.kernel.org
 help / color / mirror / Atom feed
From: Fam Zheng <famz@redhat.com>
To: Xu Wang <cngesaint@gmail.com>, qemu-devel@nongnu.org
Cc: kwolf@redhat.com, wdongxu@linux.vnet.ibm.com, stefanha@gmail.com,
	Xu Wang <gesaint@linux.vnet.ibm.com>,
	xiawenc@linux.vnet.ibm.com
Subject: Re: [Qemu-devel] [PATCH V7 0/4] Refine and export backing file loop check
Date: Wed, 13 Nov 2013 14:35:19 +0800	[thread overview]
Message-ID: <52831DA7.8030706@redhat.com> (raw)
In-Reply-To: <1384310380-9805-1-git-send-email-gesaint@linux.vnet.ibm.com>

On 2013年11月13日 10:39, Xu Wang wrote:
> If there is loop exists in the backing file chain, many problems
> could be caused by it, such as no response and segment fault during
> system boot. Hence stopping backing file loop appear is very necessary.
> These patches refine and export loop checking function from collect_image_
> info_list() to block.c and build a independent function named bdrv_
> backing_file_loop_check(). Backing file loop checking is added before
> image created, before change backing file and before system boot.
>
> Updates from V6:
>    1. Combine bdrv_backing_chain_okay() and bdrv_new_chain_okay() into one.
>    2. Delete bdrv_find_format() in the backing_chain_has_loop().
>    3. Comments syntax and function naming updates.
>
> Updates from V5:
>    1. Simplify the function of loop checking (Just filename comparation.
>       Thanks Eric's suggestion).
>    2. Delete WIN32 platform support (There is no need to this patch now).
>    3. Adjust position of backing file loop checking (calling checking function
>       before change happen).
>    4. Function name updates and comments description fix.
>
> Updates from V4:
>    1. Add backing file loop check in bdrv_new_open().
>    2. Adjust open file logic of collect_image_info_list() (bdrv_new_open()
>       is called only once when opening the whole chain).
>    3. Remove redundant brackets in lnk file check logic.
>    4. Add error output in bdrv_img_create().
>    5. Remove MAX_PATH_LEN to use PATH_MAX instead.
>
> Updates from V3:
>    1. Comments fix for function bdrv_backing_file_loop_check().
>    2. Add ret check for fseek()/fread() in get_lnk_target_file().
>    3. Add limit of shortcuts filename length reading during comparing.
>    4. Add error_report() in driv_init().
>    5. Remove redundant loop check in qcow2/qed_change_backing_file().
>
> Updates from V2:
>    1. Removed parameter @chain from bdrv_backing_file_loop_check()
>    2. Comments and format fix, all patches were checked by checkpatch.pl
>    3. Fixed *bs leak.
>    4. Improved logic of .lnk file recognization.
>    5. Add filename lenth limit check in while()
>    6. Changed get_win_inode() to get_inode() and move all inode get method
>       into it to make logic more simpler.
>    7. Added value of @fmt as suggested.
>    8. Added backing file loop check in qcow2.c/qed.c
>
> Xu Wang (4):
>    block/qemu-img: Refine and export infinite loop checking in
>      collect_image_info_list()
>    block: Add check infinite loop in bdrv_img_create()
>    block: Add backing file loop check in change_backing_file()
>    blockdev: Add infinite loop check in drive_init()
>
>   block.c               | 90 ++++++++++++++++++++++++++++++++++++++++++++++++---
>   blockdev.c            |  6 ++++
>   include/block/block.h |  3 ++
>   qemu-img.c            | 52 ++++++++++++++---------------
>   4 files changed, 121 insertions(+), 30 deletions(-)
>

Thanks, this looks pretty good to me. I've left a few questions, mainly 
regarding to the error messages.

Thank you for your effort continuously improving your series!

Fam

      parent reply	other threads:[~2013-11-13  6:35 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-11-13  2:39 [Qemu-devel] [PATCH V7 0/4] Refine and export backing file loop check Xu Wang
2013-11-13  2:39 ` [Qemu-devel] [PATCH V7 1/4] block/qemu-img: Refine and export infinite loop checking in collect_image_info_list() Xu Wang
2013-11-13  6:29   ` Fam Zheng
2013-11-13  2:39 ` [Qemu-devel] [PATCH V7 2/4] block: Add check infinite loop in bdrv_img_create() Xu Wang
2013-11-13  6:32   ` Fam Zheng
2013-11-13  6:37     ` Fam Zheng
2013-11-13  2:39 ` [Qemu-devel] [PATCH V7 3/4] block: Add backing file loop check in change_backing_file() Xu Wang
2013-11-13  6:35 ` Fam Zheng [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=52831DA7.8030706@redhat.com \
    --to=famz@redhat.com \
    --cc=cngesaint@gmail.com \
    --cc=gesaint@linux.vnet.ibm.com \
    --cc=kwolf@redhat.com \
    --cc=qemu-devel@nongnu.org \
    --cc=stefanha@gmail.com \
    --cc=wdongxu@linux.vnet.ibm.com \
    --cc=xiawenc@linux.vnet.ibm.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.