From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:38046) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1X1y1G-00053f-In for qemu-devel@nongnu.org; Tue, 01 Jul 2014 09:22:54 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1X1y19-0003DI-2s for qemu-devel@nongnu.org; Tue, 01 Jul 2014 09:22:46 -0400 Received: from mx1.redhat.com ([209.132.183.28]:31524) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1X1y18-0003D2-RL for qemu-devel@nongnu.org; Tue, 01 Jul 2014 09:22:39 -0400 Received: from int-mx13.intmail.prod.int.phx2.redhat.com (int-mx13.intmail.prod.int.phx2.redhat.com [10.5.11.26]) by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id s61DMcro011713 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK) for ; Tue, 1 Jul 2014 09:22:38 -0400 Date: Tue, 1 Jul 2014 15:22:36 +0200 From: Stefan Hajnoczi Message-ID: <20140701132236.GA11477@stefanha-thinkpad.redhat.com> References: <1402986730-25642-1-git-send-email-famz@redhat.com> <1402986730-25642-7-git-send-email-famz@redhat.com> <53B29BA0.4080603@redhat.com> MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="h31gzZEtNLTqOjlF" Content-Disposition: inline In-Reply-To: <53B29BA0.4080603@redhat.com> Subject: Re: [Qemu-devel] [PATCH v2 6/7] virtio-blk: Unify {non-, }dataplane's request handlings List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Max Reitz Cc: Kevin Wolf , Paolo Bonzini , Fam Zheng , qemu-devel@nongnu.org --h31gzZEtNLTqOjlF Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Tue, Jul 01, 2014 at 01:29:36PM +0200, Max Reitz wrote: > On 17.06.2014 08:32, Fam Zheng wrote: > >This drops request handling code from dataplane, and uses code from > >hw/block/virtio-blk.c. > > > >It starts to use multiwrite as non-dataplane does. > > > >Dataplane sets VirtIOBlock.complete_request to vring version, and calls > >into non-dataplane's process handling. In complete_request_early, > >qiov.size is added to vring push length, because it's also called in rw > >completion now. > > > >Signed-off-by: Fam Zheng > >--- > > hw/block/dataplane/virtio-blk.c | 183 +++++---------------------------= -------- > > 1 file changed, 19 insertions(+), 164 deletions(-) >=20 > Is it intended that qemu segfaults after this commit with x-data-plane=3D= on? >=20 > $ ./qemu-img create -f qcow2 test.qcow2 64M > $ x86_64-softmmu/qemu-system-x86_64 -drive if=3Dnone,file=3Dtest.qcow2,id= =3Ddrv0 > -device virtio-blk-pci,drive=3Ddrv0,x-data-plane=3Don > [1] 4604 segmentation fault x86_64-softmmu/qemu-system-x86_64 -drive > if=3Dnone,file=3Dtest.qcow2,id=3Ddrv0 >=20 > Program received signal SIGSEGV, Segmentation fault. > [Switching to Thread 0x7fffd75ff700 (LWP 5217)] > 0x00005555556373af in virtio_blk_rw_complete (opaque=3D0x5555565ff5e0, re= t=3D0) > at hw/block/virtio-blk.c:99 > 99 bdrv_acct_done(req->dev->bs, &req->acct); > (gdb) print req > $1 =3D (VirtIOBlockReq *) 0x5555565ff5e0 > (gdb) print req->dev > $2 =3D (VirtIOBlock *) 0x0 > (gdb) bt > #0 0x00005555556373af in virtio_blk_rw_complete (opaque=3D0x5555565ff5e0, > ret=3D0) at hw/block/virtio-blk.c:99 > #1 0x0000555555840ebe in bdrv_co_em_bh (opaque=3D0x5555566152d0) at > block.c:4675 > #2 0x000055555583de77 in aio_bh_poll (ctx=3Dctx@entry=3D0x5555563a8150) = at > async.c:81 > #3 0x000055555584b7a7 in aio_poll (ctx=3D0x5555563a8150, > blocking=3Dblocking@entry=3Dtrue) at aio-posix.c:188 > #4 0x00005555556e520e in iothread_run (opaque=3D0x5555563a7fd8) at > iothread.c:41 > #5 0x00007ffff42ba124 in start_thread () from /usr/lib/libpthread.so.0 > #6 0x00007ffff16d14bd in clone () from /usr/lib/libc.so.6 I'm looking into this and will send a patch to fix it. Stefan --h31gzZEtNLTqOjlF Content-Type: application/pgp-signature -----BEGIN PGP SIGNATURE----- Version: GnuPG v1 iQEcBAEBAgAGBQJTsrYcAAoJEJykq7OBq3PIUYgH/irEPh3EUKR7pOWwtv2QNfti xDQFvr9f6aHap33TLUTkqLVZB8p09X0QyarWC2bVkveDLi9y38vnAob9lgJ0tS7q 3nDkM0BDJDO3gMh2iQ/R+roqHUWmGfIGgE7Fa/s3IUCeDRjpxAs3OJIy4APX6+V9 VJ/7G7QQ4V3kXYtTqp4Nws+MUC6qU6yirNaKPC+ePBtK80yyPxDDeg7gCKWyiK5D GaRCR4ziiVW+vSBCAFKU+c8hzXKgiCekxLw03rTd4OpTm9N9GL2KW0vQU7ghrGni ePQwa+Z3IICr26+1aEemovEmzLZXOAl6fZl72QCEpYGHJnD9kQPqWMpMYuNA1bU= =rYLY -----END PGP SIGNATURE----- --h31gzZEtNLTqOjlF--