From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from [140.186.70.92] (port=45589 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1PgEPF-0007TK-EP for qemu-devel@nongnu.org; Fri, 21 Jan 2011 05:39:50 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1PgEPD-0008Ch-S1 for qemu-devel@nongnu.org; Fri, 21 Jan 2011 05:39:49 -0500 Received: from mx1.redhat.com ([209.132.183.28]:14977) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1PgEPD-0008CZ-L5 for qemu-devel@nongnu.org; Fri, 21 Jan 2011 05:39:47 -0500 Message-ID: <4D3962CC.9000002@redhat.com> Date: Fri, 21 Jan 2011 11:41:16 +0100 From: Kevin Wolf MIME-Version: 1.0 Subject: Re: [Qemu-devel] [PATCH 2/3] block: tell drivers about an image resize References: <20110119170238.GA9615@lst.de> <20110119170256.GB9819@lst.de> In-Reply-To: <20110119170256.GB9819@lst.de> Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Christoph Hellwig Cc: qemu-devel@nongnu.org Am 19.01.2011 18:02, schrieb Christoph Hellwig: > Extend the change_cb callback with a reason argument, and use it > to tell drivers about size changes. > > Signed-off-by: Christoph Hellwig > > Index: qemu/block.c > =================================================================== > --- qemu.orig/block.c 2011-01-18 20:54:45.246021572 +0100 > +++ qemu/block.c 2011-01-18 20:56:54.117255612 +0100 > @@ -645,7 +645,7 @@ int bdrv_open(BlockDriverState *bs, cons > /* call the change callback */ > bs->media_changed = 1; > if (bs->change_cb) > - bs->change_cb(bs->change_opaque); > + bs->change_cb(bs->change_opaque, CHANGE_MEDIA); > } > > return 0; > @@ -684,7 +684,7 @@ void bdrv_close(BlockDriverState *bs) > /* call the change callback */ > bs->media_changed = 1; > if (bs->change_cb) > - bs->change_cb(bs->change_opaque); > + bs->change_cb(bs->change_opaque, CHANGE_MEDIA); > } > } > > @@ -1135,6 +1135,8 @@ int bdrv_truncate(BlockDriverState *bs, > ret = drv->bdrv_truncate(bs, offset); > if (ret == 0) { > ret = refresh_total_sectors(bs, offset >> BDRV_SECTOR_BITS); > + if (bs->change_cb) > + bs->change_cb(bs->change_opaque, CHANGE_SIZE); Braces are missing here. Apart from that and Stefan's s/id/device/ the series looks good to me. Kevin