From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([140.186.70.92]:41697) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1QlFw1-0004xs-V6 for qemu-devel@nongnu.org; Mon, 25 Jul 2011 03:50:42 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1QlFw0-0001TP-Pa for qemu-devel@nongnu.org; Mon, 25 Jul 2011 03:50:41 -0400 Received: from mx1.redhat.com ([209.132.183.28]:60009) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1QlFw0-0001TK-IT for qemu-devel@nongnu.org; Mon, 25 Jul 2011 03:50:40 -0400 Message-ID: <4E2D20FE.5040505@redhat.com> Date: Mon, 25 Jul 2011 09:53:34 +0200 From: Kevin Wolf MIME-Version: 1.0 References: <1311170189-29734-1-git-send-email-freddy77@gmail.com> <4E2920FE.1060904@redhat.com> <4E294C85.2020005@redhat.com> <1311365347.23048.5.camel@ricky> In-Reply-To: <1311365347.23048.5.camel@ricky> Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [RFC PATCH 0/5] qcow: coroutines cleanup List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Frediano Ziglio Cc: qemu-devel@nongnu.org Am 22.07.2011 22:09, schrieb Frediano Ziglio: > Il giorno ven, 22/07/2011 alle 12.10 +0200, Kevin Wolf ha scritto: >> Am 22.07.2011 11:26, schrieb Frediano Ziglio: >>> 2011/7/22 Kevin Wolf : >>>> Am 20.07.2011 15:56, schrieb Frediano Ziglio: >>>>> These patches mostly cleanup some AIO code using coroutines. >>>>> These patches apply to Kevin's repository, branch coroutine-block. >>>>> Mostly they use stack instead of allocated AIO structure. >>>>> >>>>> Frediano Ziglio (5): >>>>> qcow: allocate QCowAIOCB structure using stack >>>>> qcow: QCowAIOCB field cleanup >>>>> qcow: move some blocks of code to avoid useless variable >>>>> initialization >>>>> avoid dandling pointers >>>>> qcow: small optimization initializing QCowAIOCB >>>>> >>>>> block/qcow.c | 210 +++++++++++++++++++++++++-------------------------------- >>>>> block/qcow2.c | 38 +++------- >>>>> 2 files changed, 102 insertions(+), 146 deletions(-) >>>> >>>> Most of it looks good now. Did you include the "RFC" in the subject just >>>> because the coroutine work is in RFC state, too, or did you intend to >>>> tell me that I shouldn't merge yet? >>>> >>>> Kevin >>>> >>> >>> As these patches are first quite big patches I send (typo or small >>> fixes do not counts) I just want to mark that I could write something >>> really wrong. Just a way to avoid somebody having to send more patches >>> and get more attention. Some projects are quite prone to merge even >>> not that fine ones. I prefer to have some (a bit) pedantic comments >>> and a real fix/improve. >>> >>> Now I removed the RFC from last update. The main reason is that I >>> found your qemu-iotests repository which, I think should be merged to >>> main repository, but it's just my opinion. >>> Oh... qcow fails 004 test (even origin/coroutines-block) with a I/O error. >> >> Yup, you're right, I must have messed it up. Care to fix it or should I >> look into it? >> > > Care but I don't know if I'll have time before Thursday. However I found > the problem, really strange. bdrv_read returns <0 for errors 0 for > success and... bytes read on partial read! Now a qcow image of 128m is > 560 bytes so when you read sector 1 you get 48 which is not a problem > for qcow code. But if you replace bdrv_read with a bdrv_co_readv (your > latest patch on coroutine-block) bdrv_co_readv return -EINVAL on partial > read. Oh, that one. I think I have a fix for it somewhere, I'll include it in my series. Kevin