[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH v2 6/7] virtio-blk: Unify {non-, }dataplane's re
From: |
Max Reitz |
Subject: |
Re: [Qemu-devel] [PATCH v2 6/7] virtio-blk: Unify {non-, }dataplane's request handlings |
Date: |
Tue, 01 Jul 2014 13:29:36 +0200 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.6.0 |
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 <address@hidden>
---
hw/block/dataplane/virtio-blk.c | 183 +++++-----------------------------------
1 file changed, 19 insertions(+), 164 deletions(-)
Is it intended that qemu segfaults after this commit with x-data-plane=on?
$ ./qemu-img create -f qcow2 test.qcow2 64M
$ x86_64-softmmu/qemu-system-x86_64 -drive
if=none,file=test.qcow2,id=drv0 -device
virtio-blk-pci,drive=drv0,x-data-plane=on
[1] 4604 segmentation fault x86_64-softmmu/qemu-system-x86_64 -drive
if=none,file=test.qcow2,id=drv0
Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7fffd75ff700 (LWP 5217)]
0x00005555556373af in virtio_blk_rw_complete (opaque=0x5555565ff5e0,
ret=0) at hw/block/virtio-blk.c:99
99 bdrv_acct_done(req->dev->bs, &req->acct);
(gdb) print req
$1 = (VirtIOBlockReq *) 0x5555565ff5e0
(gdb) print req->dev
$2 = (VirtIOBlock *) 0x0
(gdb) bt
#0 0x00005555556373af in virtio_blk_rw_complete (opaque=0x5555565ff5e0,
ret=0) at hw/block/virtio-blk.c:99
#1 0x0000555555840ebe in bdrv_co_em_bh (opaque=0x5555566152d0) at
block.c:4675
#2 0x000055555583de77 in aio_bh_poll (address@hidden) at
async.c:81
#3 0x000055555584b7a7 in aio_poll (ctx=0x5555563a8150,
address@hidden) at aio-posix.c:188
#4 0x00005555556e520e in iothread_run (opaque=0x5555563a7fd8) 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
Max
- Re: [Qemu-devel] [PATCH v2 6/7] virtio-blk: Unify {non-, }dataplane's request handlings,
Max Reitz <=