[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] virtio-vhost-user with virtio-scsi: end-to-end setup
From: |
Wodkowski, PawelX |
Subject: |
Re: [Qemu-devel] virtio-vhost-user with virtio-scsi: end-to-end setup |
Date: |
Fri, 21 Sep 2018 07:31:07 +0000 |
Hi Nikos,
About SPKD backtrace you got. There is something wrong with IO channel
allocation.
SPKD vhost-scsi should check the result of
spdk_scsi_dev_allocate_io_channels() in
spdk_vhost_scsi_dev_add_tgt(). But this result is not checked :(
You can add some check or assert there.
Paweł
>
> But, now, I have really hit a roadblock. I get a segfault, I run the
> exact same commands as shown above, and end up with this backtrace:
>
> -- cut here --
>
> #0 0x000000000046ae42 in spdk_bdev_get_io (channel=0x30) at bdev.c:920
> #1 0x000000000046c985 in spdk_bdev_readv_blocks (desc=0x93f8a0,
> ch=0x0,
> iov=0x7ffff2fb7c88, iovcnt=1, offset_blocks=0, num_blocks=8,
> cb=0x453e1a <spdk_bdev_scsi_task_complete_cmd>,
> cb_arg=0x7ffff2fb7bc0) at bdev.c:1696
> #2 0x000000000046c911 in spdk_bdev_readv (desc=0x93f8a0, ch=0x0,
> iov=0x7ffff2fb7c88,
> iovcnt=1, offset=0, nbytes=4096, cb=0x453e1a
> <spdk_bdev_scsi_task_complete_cmd>,
> cb_arg=0x7ffff2fb7bc0) at bdev.c:1680
> #3 0x0000000000453fe2 in spdk_bdev_scsi_read (bdev=0x941c80,
> bdev_desc=0x93f8a0,
> bdev_ch=0x0, task=0x7ffff2fb7bc0, lba=0, len=8) at scsi_bdev.c:1317
> #4 0x000000000045462e in spdk_bdev_scsi_readwrite (task=0x7ffff2fb7bc0,
> lba=0,
> xfer_len=8, is_read=true) at scsi_bdev.c:1477
> #5 0x0000000000454c95 in spdk_bdev_scsi_process_block
> (task=0x7ffff2fb7bc0)
> at scsi_bdev.c:1662
> #6 0x00000000004559ce in spdk_bdev_scsi_execute (task=0x7ffff2fb7bc0)
> at scsi_bdev.c:2029
> #7 0x00000000004512e4 in spdk_scsi_lun_execute_task (lun=0x93f830,
> task=0x7ffff2fb7bc0)
> at lun.c:162
> #8 0x0000000000450a87 in spdk_scsi_dev_queue_task (dev=0x713c80
> <g_devs>,
> task=0x7ffff2fb7bc0) at dev.c:264
> #9 0x000000000045ae48 in task_submit (task=0x7ffff2fb7bc0) at
> vhost_scsi.c:268
> #10 0x000000000045c2b8 in process_requestq (svdev=0x7ffff31d9dc0,
> vq=0x7ffff31d9f40)
> at vhost_scsi.c:649
> #11 0x000000000045c4ad in vdev_worker (arg=0x7ffff31d9dc0) at
> vhost_scsi.c:685
> #12 0x00000000004797f2 in _spdk_reactor_run (arg=0x944540) at
> reactor.c:471
> #13 0x0000000000479dad in spdk_reactors_start () at reactor.c:633
> #14 0x00000000004783b1 in spdk_app_start (opts=0x7fffffffe390,
> start_fn=0x404df8 <vhost_started>, arg1=0x0, arg2=0x0) at app.c:570
> #15 0x0000000000404ec0 in main (argc=7, argv=0x7fffffffe4f8) at vhost.c:115
>
> -- cut here --
>
> I have not yet been able to debug this, it’s most probably my bug, but I
> am wondering whether there could be a conflict between the two distinct
> virtio drivers: (1) the pre-existing one in the SPDK virtio library
> under lib/virtio/, and (2) the one I copied into lib/vhost/rte_vhost/ as
> part of the vhost library.
>