From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:47829) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VoWFy-0002Rx-Bh for qemu-devel@nongnu.org; Thu, 05 Dec 2013 05:34:12 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1VoWFs-00032n-1n for qemu-devel@nongnu.org; Thu, 05 Dec 2013 05:34:06 -0500 Received: from mx1.redhat.com ([209.132.183.28]:35381) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VoWFr-00032e-Pt for qemu-devel@nongnu.org; Thu, 05 Dec 2013 05:33:59 -0500 Date: Thu, 5 Dec 2013 11:33:50 +0100 From: Stefan Hajnoczi Message-ID: <20131205103350.GD9629@stefanha-thinkpad.redhat.com> References: <1385546829-3839-1-git-send-email-pl@kamp.de> <1385546829-3839-8-git-send-email-pl@kamp.de> <20131204154904.GD27759@stefanha-thinkpad.redhat.com> <529F50A3.3090106@kamp.de> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <529F50A3.3090106@kamp.de> Subject: Re: [Qemu-devel] [PATCHv3 1.8 7/9] qemu-img: round down request length to an aligned sector List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Peter Lieven Cc: kwolf@redhat.com, Stefan Hajnoczi , qemu-devel@nongnu.org, pbonzini@redhat.com On Wed, Dec 04, 2013 at 04:56:19PM +0100, Peter Lieven wrote: > Am 04.12.2013 16:49, schrieb Stefan Hajnoczi: > > On Wed, Nov 27, 2013 at 11:07:07AM +0100, Peter Lieven wrote: > >> @@ -1397,19 +1396,21 @@ static int img_convert(int argc, char **argv) > >> } > >> } > >> > >> + cluster_sectors = 0; > >> + ret = bdrv_get_info(out_bs, &bdi); > >> + if (ret < 0 && compress) { > >> + error_report("could not get block driver info"); > >> + goto out; > >> + } else { > >> + cluster_sectors = bdi.cluster_size / BDRV_SECTOR_SIZE; > >> + } > > Why do we only report error if 'compress' is set? cluster_sectors must > > be valid and we cannot guarantee that if bdrv_get_info() failed. > You mean this should be: > > + if (ret < 0) { > + if (compress) { > + error_report("could not get block driver info"); > + goto out; > + } > + } else { > + cluster_sectors = bdi.cluster_size / BDRV_SECTOR_SIZE; > + } > > > if cluster_sectors is 0 the alignment logic is skipped, but we cannot > guarantee that bdi is zero and stays zero if the call fails. > > can you fix that when you pick up the patch? Sure. Stefan