[SPDK] spdk_get_io_channel: *ERROR*: could not find io_device

bsddiy at 163.com Mon, 09 May 2022 09:47:38 +0000
Newsgroups dev.linux.lists.spdk
Message-ID <[email protected]>
--===============4529215450371046920==
Content-Type: text/plain; charset="utf-8"
MIME-Version: 1.0
Content-Transfer-Encoding: quoted-printable

Hi,

I can open nvme device with SPDK API spdk_bdev_open_ext(),
but when I want to get a channel to do I/O,  spdk_bdev_get_io_channel()
always return NULL, and it prints following error message:

 thread.c:2122:spdk_get_io_channel: *ERROR*: could not find io_device 0x7f5=
2ebb41180

The full log is here:

OAT: ioat_dmadev_probe(): Init 0000:80:01.7 on NUMA node 1
mlx5_net: No available register for sampler.
mlx5_common: No Verbs device matches PCI device 0000:b1:00.1, are kernel dr=
ivers loaded?
mlx5_common: Verbs device not found: 0000:b1:00.1
mlx5_common: Failed to initialize device context.
EAL: Requested device 0000:b1:00.1 cannot be used
TELEMETRY: No legacy callbacks, legacy socket not created
[2022-05-09 17:28:46.703804] bdev.c:6132:bdev_register: *DEBUG*: Inserting =
bdev Nvme0n1 into list
[2022-05-09 17:28:46.703850] bdev.c:6376:bdev_open: *DEBUG*: Opening descri=
ptor 0x7f52e4381d10 for bdev Nvme0n1 on thread 0x7f52e433def0
[2022-05-09 17:28:46.703984] thread.c:2122:spdk_get_io_channel: *ERROR*: co=
uld not find io_device 0x7f52ebb41180
[2022-05-09 17:28:46.704000] bdev_nvme.c: 602:_bdev_nvme_add_io_path: *ERRO=
R*: Failed to alloc io_channel.
[2022-05-09 17:28:46.704010] blobstore.c:3124:bs_channel_create: *ERROR*: F=
ailed to create device channel.
[2022-05-09 17:28:46.704019] blobstore.c:5533:bs_register_md_thread: *ERROR=
*: Failed to get IO channel.
[2022-05-09 17:28:46.704059] bdev.c:6544:spdk_bdev_close: *DEBUG*: Closing =
descriptor 0x7f52e4381d10 for bdev Nvme0n1 on thread 0x7f52e433def0
[2022-05-09 17:28:46.704074] bdev.c:6376:bdev_open: *DEBUG*: Opening descri=
ptor 0x7f52e4381fc0 for bdev Nvme0n1 on thread 0x7f52e433def0
[2022-05-09 17:28:46.704086] thread.c:2122:spdk_get_io_channel: *ERROR*: co=
uld not find io_device 0x7f52ebb41180
[2022-05-09 17:28:46.704094] bdev_nvme.c: 602:_bdev_nvme_add_io_path: *ERRO=
R*: Failed to alloc io_channel.
[2022-05-09 17:28:46.704103] vbdev_gpt.c: 519:vbdev_gpt_read_gpt: *ERROR*: =
Failed to get an io_channel.
[2022-05-09 17:28:46.704110] bdev.c:6544:spdk_bdev_close: *DEBUG*: Closing =
descriptor 0x7f52e4381fc0 for bdev Nvme0n1 on thread 0x7f52e433def0
[2022-05-09 17:28:46.704133] vbdev_gpt.c: 572:vbdev_gpt_examine: *ERROR*: F=
ailed to read info from bdev Nvme0n1
[2022-05-09 17:28:46.704549] bdev.c: 695:spdk_bdev_first: *DEBUG*: Starting=
 bdev iteration at Nvme0n1
dev: Nvme0n1

=3D=3D=3D

Can anyone tell me the reason why I can not open a channel with a valid des=
c ?

Regards,
Skye Xu
--===============4529215450371046920==--