[SPDK] Re: Error creating block device based on NVMe device
Liu, Changpeng <changpeng.liu at intel.com>
| Newsgroups | dev.linux.lists.spdk |
|---|---|
| Message-ID | <BN7PR11MB27396C319BE86797D3AD7495EEA50@BN7PR11MB2739.namprd11.prod.outlook.com> |
I see, if your drive can's support OPAL, bdev_nvme_dump_info_json() will check the drive based on Security Send/Receive feature, could you submit a fix for that ?
> -----Original Message-----
> From: Michael Haeuptle <michaelhaeuptle(a)gmail.com>
> Sent: Thursday, May 7, 2020 7:56 AM
> To: Storage Performance Development Kit <spdk(a)lists.01.org>
> Subject: [SPDK] Re: Error creating block device based on NVMe device
>
> 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/55fe098f9d0c51bc2a02e85e6b256dcb7cb03
> 636/lib/nvme/nvme_opal.c#L2567
> <https://github.com/spdk/spdk/blob/55fe098f9d0c51bc2a02e85e6b256dcb7cb0
> 3636/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
>
> _______________________________________________
> SPDK mailing list -- spdk(a)lists.01.org
> To unsubscribe send an email to spdk-leave(a)lists.01.org