Spdk/lib/nvme
Jim Harris 7039639063 nvme: read full discovery page after reading header
Some targets report they support log page offset,
but then fail GET_LOG_PAGE commands that specify
a non-zero offset, or report the wrong number
of discovery entries when reading more than the
discovery log page header but not the entire log
page.

So just revert to reading the entire discovery log
page, after we've read the header to know how big the
log page will be. This means that when we read the
log page initially (without the individual entries),
we need to save off the genctr, since it will get
overwritten when we read the log page again.  We can
just store this in the discovery context, and compare
it to the genctr that we read with the whole log page.

Signed-off-by: Jim Harris <james.r.harris@intel.com>
Change-Id: I34929253312fed9924db58904a051f3979283730
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/11478
Community-CI: Broadcom CI <spdk-ci.pdl@broadcom.com>
Community-CI: Mellanox Build Bot
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
Reviewed-by: Aleksey Marchuk <alexeymar@mellanox.com>
Reviewed-by: Shuhei Matsumoto <smatsumoto@nvidia.com>
2022-03-28 17:10:04 +00:00
..
Makefile so_ver: increase all major versions 2022-01-31 15:29:56 +00:00
nvme_ctrlr_cmd.c spelling: lib 2021-12-03 08:12:55 +00:00
nvme_ctrlr_ocssd_cmd.c nvme: Do not track a separate active namespace list 2022-01-14 08:35:10 +00:00
nvme_ctrlr.c nvme_ctrlr.c: Add error logs 2022-03-24 09:57:17 +00:00
nvme_cuse.c nvme: Add Check for fuse request size 2022-01-14 11:10:13 +00:00
nvme_cuse.h lib/nvme: add RPC for interacting with CUSE devices 2019-10-24 23:43:59 +00:00
nvme_discovery.c nvme: read full discovery page after reading header 2022-03-28 17:10:04 +00:00
nvme_fabric.c nvme: allocate extra request for fabrics connect 2022-02-14 15:29:39 +00:00
nvme_internal.h nvme: Call ctrlr_disconnect_done() after qpair_process_comletions() returns -ENXIO 2022-03-21 10:49:11 +00:00
nvme_io_msg.c nvme: only process io_msg in primary process 2021-04-22 01:06:02 +00:00
nvme_io_msg.h spelling: lib 2021-12-03 08:12:55 +00:00
nvme_ns_cmd.c nvme: Add functions spdk_nvme_ns_cmd_readv/writev_ext 2021-08-20 07:26:10 +00:00
nvme_ns_ocssd_cmd.c nvme: save separate metadata size to nvme request 2020-04-02 07:02:38 +00:00
nvme_ns.c nvme: Remove nvme_ns_update 2021-12-20 08:49:41 +00:00
nvme_opal_internal.h nvme/opal: deprecate spdk_opal_supported() 2020-05-20 14:16:44 +00:00
nvme_opal.c spelling: lib 2021-12-03 08:12:55 +00:00
nvme_pcie_common.c nvme: Factor out operations done after disconnect qpair completes 2022-03-21 10:49:11 +00:00
nvme_pcie_internal.h lib/nvme: report shadow doorbell update stats 2022-03-10 09:49:25 +00:00
nvme_pcie.c lib/nvme: only active process to operate the unmap operation 2022-01-24 20:12:51 +00:00
nvme_poll_group.c nvme: Add functions to get/free poll group statistics 2021-04-13 21:30:52 +00:00
nvme_qpair.c nvme: qpair_process_completions() processes if qpair is disconnecting 2022-03-21 10:49:11 +00:00
nvme_quirks.c nvme: add DELAY_BEFORE_INIT quirk to Intel 0x0A54 SSD 2021-11-15 11:59:14 +00:00
nvme_rdma.c nvme_rdma: Update reportring of RDMA responder resources 2022-03-25 08:18:37 +00:00
nvme_tcp.c nvme: Factor out operations done after disconnect qpair completes 2022-03-21 10:49:11 +00:00
nvme_transport.c nvme: Caller polls qpair until disconnected if async connect failed 2022-03-21 10:49:11 +00:00
nvme_vfio_user.c nvme/vfio-user: use the common request submission function 2021-06-09 07:21:31 +00:00
nvme_zns.c lib/nvme: NVMe ZNS - Zone Descriptor Extension support 2021-09-16 07:21:40 +00:00
nvme.c nvme: simplify spdk_nvme_transport_id_populate_trstring 2022-02-28 11:07:05 +00:00
spdk_nvme.map nvme: add spdk_nvme_ctrlr_get_discovery_log_page API 2021-12-20 18:12:41 +00:00