Spdk/lib/nvme
Ben Walker 79aba95edb Revert "nvme: small code cleanup for nvme_transport_ctrlr_scan"
This reverts commit 6129e78d26.

When the initiator sends the discovery log page, if the log page
exceeds the size of its data buffer, it will break it up into
multiple log page commands with appropriate offsets. However,
supporting offsets in log pages is an optional feature in NVMe
and reported by the EDLP bit in the identify data.

This commit changed the discovery process to no longer send an
identify command prior to doing the discovery log page command,
so the values in the identify data are always 0. If the discovery
log page exceeds the size of the data buffer (4k), it will then
fail to send the second log page with an offset because it
believes the controller does not support the feature.

Revert this change to fix it. An identify should always be sent
as part of the discovery process. A test case is included in a
follow up patch the demonstrates the bug.

Reported-by: Zahra Khatami <zahra.k.khatami@oracle.com>
Reported-by: Akshay Shah <akshay.shah@oracle.com>

Signed-off-by: Ben Walker <benjamin.walker@intel.com>
Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/466819 (master)

(cherry picked from commit 647afdec44)
Change-Id: Iefd512a7521e0fea90541b3eb547671cfa816ea6
Signed-off-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>
Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/467946
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
2019-09-10 22:27:45 +00:00
..
Makefile Opal: Add Opal library 2019-04-08 17:04:25 +00:00
nvme_ctrlr_cmd.c nvme: add qpair parameter to nvme_complete_request 2019-05-22 14:51:01 +00:00
nvme_ctrlr_ocssd_cmd.c ocssd: hold lock when calling nvme_ctrlr_submit_admin_request 2019-02-15 21:27:58 +00:00
nvme_ctrlr.c nvme: Ensure max_sges not to exceed what controller supports in generic layer 2019-07-05 06:35:41 +00:00
nvme_fabric.c nvme: switch to spdk_*malloc(). 2019-06-27 04:34:50 +00:00
nvme_internal.h nvme: put child I/O helper functions in nvme_internal.h 2019-07-22 04:15:13 +00:00
nvme_ns_cmd.c nvme: put child I/O helper functions in nvme_internal.h 2019-07-22 04:15:13 +00:00
nvme_ns_ocssd_cmd.c vtophys: add length parameter to the vtophys function 2019-01-09 08:24:59 +00:00
nvme_ns.c nvme: make identify NS id descriptors can be executed asynchronously 2018-10-15 17:57:56 +00:00
nvme_opal_internal.h opal: Add multiuser support 2019-07-22 04:32:59 +00:00
nvme_opal.c opal: Fix get string for bigger length 2019-09-09 04:42:54 +00:00
nvme_pcie.c nvme: add functions to pretty-print commands and completions 2019-07-15 07:47:03 +00:00
nvme_qpair.c nvme: fix WRITE_TO_RO_RANGE status code 2019-09-09 21:55:22 +00:00
nvme_quirks.c nvme: add SHST_COMPLETE quirk for VMWare emulated SSDs 2019-02-27 01:46:32 +00:00
nvme_rdma.c Revert "nvme: small code cleanup for nvme_transport_ctrlr_scan" 2019-09-10 22:27:45 +00:00
nvme_tcp.c Revert "nvme: small code cleanup for nvme_transport_ctrlr_scan" 2019-09-10 22:27:45 +00:00
nvme_transport.c nvme: add qpair is_connecting flag 2019-05-14 08:48:11 +00:00
nvme_uevent.c nvme: add vfio driver parse event 2019-05-29 02:36:41 +00:00
nvme_uevent.h nvme: Add support of hotplug for vfio-attached devices. 2017-12-06 17:04:49 -05:00
nvme.c Nvme: check spdk_nvme_qpair_process_completions return value. 2019-07-09 00:27:54 +00:00