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. >
