[SPDK] Re: Error creating block device based on NVMe device
Michael Haeuptle <michaelhaeuptle at gmail.com>
| Newsgroups | dev.linux.lists.spdk |
|---|---|
| Message-ID | <[email protected]> |
I think I ran into the same issue today with 20.04. My workaround was to do a NULL check in spdk_opal_supported:
https://github.com/spdk/spdk/blob/55fe098f9d0c51bc2a02e85e6b256dcb7cb03636/lib/nvme/nvme_opal.c#L2567 <https://github.com/spdk/spdk/blob/55fe098f9d0c51bc2a02e85e6b256dcb7cb03636/lib/nvme/nvme_opal.c#L2567>
bool
spdk_opal_supported(struct spdk_opal_dev *dev)
{
return dev ? dev->supported : false;
// return dev->supported;
}
> On May 6, 2020, at 5:32 PM, Liu, Changpeng <changpeng.liu(a)intel.com> wrote:
>
> Hi Ye,
>
> The OPAL error message showed that your drive can support Security send/receive commands but can't support OPAL, it doesn't affect anything, so the block device was created successfully.
>
> Could you submit a github issue for the Segment Fault, it's better to include the calltrace, I can take a look. Thanks.
>
>> -----Original Message-----
>> From: yehur.cheong(a)akirakan.com <yehur.cheong(a)akirakan.com>
>> Sent: Wednesday, May 6, 2020 6:48 PM
>> To: spdk(a)lists.01.org
>> Subject: [SPDK] Error creating block device based on NVMe device
>>
>> Hi all,
>>
>> I'm facing an error when using the command rpc.py
>> bdev_nvme_attach_controller when creating block device based on NVMe
>> device. But i have no problem running the examples/nvme/hello_world and
>> examples/bdev/hello_world/hello_bdev.
>>
>> Here are the output (all commands ran in the spdk root directory),
>>
>> 1. First, i started the spdk_tgt (I'm using a local nvme drive)
>> ./app/spdk_tgt/spdk_tgt &
>>
>> Starting SPDK v20.04-pre git sha1 2d097539d / DPDK 19.11.0 initialization...
>> [ DPDK EAL parameters: spdk_tgt --no-shconf -c 0x1 --log-level=lib.eal:6 --log-
>> level=lib.cryptodev:5 --log-level=user1:6 --iova-mode=pa --base-
>> virtaddr=0x200000000000 --match-allocations --file-prefix=spdk_pid8592 ]
>> EAL: No available hugepages reported in hugepages-1048576kB
>> app.c: 646:spdk_app_start: *NOTICE*: Total cores available: 1
>> reactor.c: 371:_spdk_reactor_run: *NOTICE*: Reactor started on core 0
>> accel_engine.c: 227:spdk_accel_engine_initialize: *NOTICE*: Accel engine
>> initialized to use software engine.
>>
>> 2. Try to create a block device using the rpc.py command
>> ./scripts/rpc.py bdev_nvme_attach_controller -b NVMe01 -t PCIe -a 0000:04:00.0
>>
>> nvme_qpair.c: 118:nvme_admin_qpair_print_command: *NOTICE*: SECURITY
>> RECEIVE (82) sqid:0 cid:23 nsid:0 cdw10:01000100 cdw11:00000800
>> nvme_qpair.c: 306:spdk_nvme_qpair_print_completion: *NOTICE*: INVALID
>> FIELD (00/02) sqid:0 cid:23 cdw0:0 sqhd:000f p:1 m:0 dnr:1
>> nvme_ctrlr.c:3443:spdk_nvme_ctrlr_security_receive: *ERROR*:
>> spdk_nvme_ctrlr_cmd_security_receive failed!
>> bdev_nvme.c:1426:create_ctrlr: *ERROR*: Failed to initialize Opal
>> NVMe01n1
>>
>> Here it shows error in spdk_nvme_ctrlr_cmd_security_receive and failed to
>> initialize Opal.
>>
>> 3. Then when i try checking list of currently available block devices by the rpc.py
>> command,
>> ./scripts/rpc.py bdev_get_bdevs
>>
>> Connection closed with partial response:
>>
>>
>> [3]+ Segmentation fault (core dumped) ./app/spdk_tgt/spdk_tgt
>>
>> it got a segmentation fault.
>>
>> I'm not sure what's the problem here, I'll appreciate any comment at all. Thank
>> you very much.
>>
>> Best,
>> Ye Hur
>> _______________________________________________
>> SPDK mailing list -- spdk(a)lists.01.org
>> To unsubscribe send an email to spdk-leave(a)lists.01.org
> _______________________________________________
> SPDK mailing list -- spdk(a)lists.01.org
> To unsubscribe send an email to spdk-leave(a)lists.01.org