From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:44653) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UyfJ3-0007qK-4J for qemu-devel@nongnu.org; Mon, 15 Jul 2013 05:43:01 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1UyfIz-0002Q9-Fb for qemu-devel@nongnu.org; Mon, 15 Jul 2013 05:42:57 -0400 Received: from mail-pd0-x233.google.com ([2607:f8b0:400e:c02::233]:35178) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UyfIz-0002Ps-8M for qemu-devel@nongnu.org; Mon, 15 Jul 2013 05:42:53 -0400 Received: by mail-pd0-f179.google.com with SMTP id q10so10629610pdj.10 for ; Mon, 15 Jul 2013 02:42:52 -0700 (PDT) From: Xu Wang Date: Mon, 15 Jul 2013 05:42:29 -0400 Message-Id: <1373881356-3294-1-git-send-email-cngesaint@gmail.com> Subject: [Qemu-devel] [PATCH V3 0/7] Redefine and export backing file loop check List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: kwolf@redhat.com, famz@redhat.com, stefanha@gmail.com, wdongxu@linux.vnet.ibm.com, Xu Wang , xiawenc@linux.vnet.ibm.com 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 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 (7): block/qemu-img: Refine and export infinite loop checking in collect_image_info_list() block: Add WIN32 platform support for backing_file_loop_check() block: Check infinite loop in bdrv_img_create() block: Add backing file loop check in change_backing_file() block: Add infinite loop check in drive_init() block: Add backing file loop check in qcow2_change_backing_file() block: Add backing file loop check in qed_change_backing_file() block.c | 207 ++++++++++++++++++++++++++++++++++++++++++++++++-- block/qcow2.c | 6 ++ block/qed.c | 7 ++ blockdev.c | 6 ++ include/block/block.h | 4 + qemu-img.c | 29 +++---- 6 files changed, 234 insertions(+), 25 deletions(-) -- 1.8.1.4