[SPDK] Re: Error creating block device based on NVMe device
Liu, Changpeng <changpeng.liu at intel.com>
| Newsgroups | dev.linux.lists.spdk |
|---|---|
| Message-ID | <BN7PR11MB273993F1238DAE8CB9602DEFEEA50@BN7PR11MB2739.namprd11.prod.outlook.com> |
Thanks, I will fix it.
> -----Original Message-----
> From: Michael Haeuptle <michaelhaeuptle(a)gmail.com>
> Sent: Thursday, May 7, 2020 8:08 AM
> To: Storage Performance Development Kit <spdk(a)lists.01.org>
> Subject: [SPDK] Re: Error creating block device based on NVMe device
>
> Not sure, I'm pretty busy at the moment and this seems somewhat urgent.
>
> On Wed, May 6, 2020, 6:04 PM Liu, Changpeng <changpeng.liu(a)intel.com>
> wrote:
>
> > 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
> > _______________________________________________
> > 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