Spdk/lib
Shuhei Matsumoto 785d10b5c7 nvmf: Make ANA state not only per subsystem listener but also per ANA group
Refine ANA state from per subsystem listener to per subsystem listener
per ANA group.

Add an array of ANA state per ANA group to subsystem listener. The array is
indexed by ANA group ID - 1.

Then in I/O paths, we get ANA state by
    ctrlr->listener->ana_state[ns->anagrpid - 1].

The NVMe specification indicates the existence of NVM subsystem specific
ANA state when FFFFFFFFh is specified as NSID for the Get Features
and the Set Features commands. For these, we return the optimized state.

Update the nvmf_subsystem_get_listeners RPC to return all ANA states
of the underlying ANA groups. The nvmf_subsystem_get_listeners RPC is
not matured and not used in the test code yet. Hence compatibility is
not high priority.

Signed-off-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>
Change-Id: Ia2d4d5361ac01236f595c22765fd35e4c5fdee0e
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/9064
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Community-CI: Broadcom CI <spdk-ci.pdl@broadcom.com>
Community-CI: Mellanox Build Bot
Reviewed-by: Changpeng Liu <changpeng.liu@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
2021-09-06 09:47:01 +00:00
..
accel accel: Fix the data copy issue for copy+crc32c in vector mode. 2021-09-01 07:34:02 +00:00
bdev lib/bdev: added spdk_bdev_module_fini_done() 2021-08-23 08:49:56 +00:00
blob blobstore: calculate correct num_md_clusters in bs_recover 2021-08-09 08:39:42 +00:00
blobfs lib/trace: record string arguments as (const char *) 2021-06-28 16:17:35 +00:00
conf so_ver: increase all major versions 2021-02-05 14:43:47 +00:00
dma dma: Introduce memory domain 2021-08-20 07:26:10 +00:00
env_dpdk vmd: update for changes in IceLake platform 2021-08-31 08:39:37 +00:00
env_ocf lib/ocf_env: Force struct list 64 bytes alignment 2021-07-28 07:02:14 +00:00
event event/scheduler_dynamic: remove g_core_mngmnt_available 2021-08-31 08:39:55 +00:00
ftl lib/trace: don't format arg's name while registering a tpoint 2021-06-10 10:58:05 +00:00
idxd lib/idxd: batch perf improvement 2021-09-01 07:34:02 +00:00
init util: Add macro SPDK_SIZEOF_MEMBER to get size of a member of a struct 2021-07-15 07:16:22 +00:00
ioat ioat: fix potential double free problem in ioat_channel_start() 2021-06-16 09:00:37 +00:00
iscsi net: Remove library 2021-07-13 08:57:58 +00:00
json json: add the spdk_json_write_uint128 function 2021-07-22 13:46:50 +00:00
jsonrpc jsonrpc: use SOCK_NONBLOCK in socket() calls 2021-05-05 13:31:10 +00:00
log log: add an API to return syslog level based on SPDK's log level 2021-08-12 12:57:39 +00:00
lvol so_ver: increase all major versions 2021-02-05 14:43:47 +00:00
nbd lib/nbd: hot remove will be correctly handled 2021-07-26 08:56:23 +00:00
notify so_ver: increase all major versions 2021-02-05 14:43:47 +00:00
nvme nvme: No longer allocate arrays of size NN in cuse handling 2021-09-03 08:07:25 +00:00
nvmf nvmf: Make ANA state not only per subsystem listener but also per ANA group 2021-09-06 09:47:01 +00:00
rdma include: remove util.h include from queue_extras.h 2021-04-14 07:25:21 +00:00
reduce util: Add macro SPDK_SIZEOF_MEMBER to get size of a member of a struct 2021-07-15 07:16:22 +00:00
rocksdb rocksdb: fix thread name typo 2021-09-03 08:08:20 +00:00
rpc so_ver: increase all major versions 2021-02-05 14:43:47 +00:00
scsi util: Add macro SPDK_SIZEOF_MEMBER to get size of a member of a struct 2021-07-15 07:16:22 +00:00
sock socket: Remove deprecated enable_zerocopy_send 2021-07-23 10:30:25 +00:00
thread thread: print notice on changing intr mode 2021-07-30 08:21:43 +00:00
trace trace: fix the snprintf warning issue. 2021-07-12 14:06:43 +00:00
ut_mock so_ver: increase all major versions 2021-02-05 14:43:47 +00:00
util lib/util: optimize base64 encode and decode using ARM SVE intrinsics 2021-08-06 07:31:06 +00:00
vfio_user libvfio-user: update submodule 2021-06-22 23:42:02 +00:00
vhost vhost-blk: fix interrupt names 2021-09-02 07:43:37 +00:00
virtio env: only pass failing address to spdk_pci_error_handler 2021-06-15 08:34:28 +00:00
vmd vmd: update for changes in IceLake platform 2021-08-31 08:39:37 +00:00
Makefile dma: Introduce memory domain 2021-08-20 07:26:10 +00:00