From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:50309) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YkvHa-0004uj-8c for qemu-devel@nongnu.org; Wed, 22 Apr 2015 10:05:46 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1YkvHV-0002x0-JF for qemu-devel@nongnu.org; Wed, 22 Apr 2015 10:05:41 -0400 Received: from mail-wg0-x229.google.com ([2a00:1450:400c:c00::229]:33330) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YkvHU-0002ws-U9 for qemu-devel@nongnu.org; Wed, 22 Apr 2015 10:05:37 -0400 Received: by wgin8 with SMTP id n8so247609102wgi.0 for ; Wed, 22 Apr 2015 07:05:36 -0700 (PDT) Date: Wed, 22 Apr 2015 15:05:34 +0100 From: Stefan Hajnoczi Message-ID: <20150422140534.GW27617@stefanha-thinkpad.redhat.com> References: <1426069701-1405-1-git-send-email-den@openvz.org> <1426069701-1405-22-git-send-email-den@openvz.org> MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="yZxAaITavNk3ADw/" Content-Disposition: inline In-Reply-To: <1426069701-1405-22-git-send-email-den@openvz.org> Subject: Re: [Qemu-devel] [PATCH 21/27] block/parallels: no need to flush on each block allocation table update List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: "Denis V. Lunev" Cc: Kevin Wolf , qemu-devel@nongnu.org, Stefan Hajnoczi --yZxAaITavNk3ADw/ Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Wed, Mar 11, 2015 at 01:28:15PM +0300, Denis V. Lunev wrote: > From the point of guest each write to real disk prior to disk barrier > operation could be lost. Therefore there is no problem that "not synced" > new block is lost due to not updated allocation table if QEMU is crashed. > This situation is properly detected and handled now using inuse magic > and in parallels_check >=20 > This patch improves writing performance of > qemu-img create -f parallels -o cluster_size=3D64k ./1.hds 64G > qemu-io -f parallels -c "write -P 0x11 0 1024k" 1.hds > from 45 Mb/sec to 160 Mb/sec on my SSD disk. The gain on rotational media > is much more sufficient, from 800 Kb/sec to 45 Mb/sec. >=20 > Signed-off-by: Denis V. Lunev > Reviewed-by: Roman Kagan > CC: Kevin Wolf > CC: Stefan Hajnoczi > --- > block/parallels.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) >=20 > diff --git a/block/parallels.c b/block/parallels.c > index bafc74b..2605c1a 100644 > --- a/block/parallels.c > +++ b/block/parallels.c > @@ -118,7 +118,7 @@ static int64_t allocate_cluster(BlockDriverState *bs,= int64_t sector_num) > bdrv_truncate(bs->file, (pos + s->tracks) << BDRV_SECTOR_BITS); > =20 > s->bat_bitmap[idx] =3D cpu_to_le32(pos / s->off_multiplier); > - ret =3D bdrv_pwrite_sync(bs->file, > + ret =3D bdrv_pwrite(bs->file, > sizeof(ParallelsHeader) + idx * sizeof(s->bat_bitmap[idx]), > s->bat_bitmap + idx, sizeof(s->bat_bitmap[idx])); > if (ret < 0) { Please squash this into the write support patch. --yZxAaITavNk3ADw/ Content-Type: application/pgp-signature -----BEGIN PGP SIGNATURE----- Version: GnuPG v1 iQEcBAEBAgAGBQJVN6quAAoJEJykq7OBq3PIefoH/2RO/sETNj1+ROZmnXDHSw4K 0UmB1wR0OUEYX/YQqQOHhU8o2O9DrhyWjI7Rb67lohLt56O6qOgfcDg4ISK7XQuw DBAKRfMTQAHpouLZCqG/4nI0W1dmX6o1BVABJBp2edUBMZ/rla3WoQxPfQk1TcSv Idiwho9SMVUpkX+Xgb9Y3/5eG58AZGlbDqsIlD2idjn27BJGiH/OYwRWpMmEJg2Z kMkFtSLO+bR8+dD8Tv1nvdea2KeWy6rs5KLIRz/P5bnEwttRhzrgvPCTbqimlJSa ThjNaT6c+xoFN6MXzXjXqUW7thIwgo8P4/u5eoBJmM2N0+3lYdigbhxyRY4+H/Q= =lK37 -----END PGP SIGNATURE----- --yZxAaITavNk3ADw/--