linux_dsm_epyc7002/drivers/nvme/target
Daniel Wagner 0f5be6a4ff nvmet: update AEN list and array at one place
All async events are enqueued via nvmet_add_async_event() which
updates the ctrl->async_event_cmds[] array and additionally an struct
nvmet_async_event is added to the ctrl->async_events list.

Under normal operations the nvmet_async_event_work() updates again
the ctrl->async_event_cmds and removes the corresponding struct
nvmet_async_event from the list again. Though nvmet_sq_destroy() could
be called which calls nvmet_async_events_free() which only updates the
ctrl->async_event_cmds[] array.

Add new functions nvmet_async_events_process() and
nvmet_async_events_free() to process async events, update an array and
the list.

When we destroy submission queue after clearing the aen present on
the ctrl->async list we also loop over ctrl->async_event_cmds[] for
any requests posted by the host for which we don't have the AEN in
the ctrl->async_events list by calling nvmet_async_event_process()
and nvmet_async_events_free().

Reviewed-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Daniel Wagner <dwagner@suse.de>
[chaitanya.kulkarni@wdc.com
 * Loop over and clear out outstanding requests
 * Update changelog
]
Signed-off-by: Chaitanya Kulkarni <chaitanya.kulkarni@wdc.com>
Signed-off-by: Keith Busch <kbusch@kernel.org>
2020-02-05 01:56:10 +09:00
..
admin-cmd.c
configfs.c
core.c nvmet: update AEN list and array at one place 2020-02-05 01:56:10 +09:00
discovery.c
fabrics-cmd.c nvmet: Fix controller use after free 2020-02-05 01:13:09 +09:00
fc.c
fcloop.c
io-cmd-bdev.c nvmet: fix dsm failure when payload does not match sgl descriptor 2020-02-04 03:00:24 +09:00
io-cmd-file.c nvmet: fix dsm failure when payload does not match sgl descriptor 2020-02-04 03:00:24 +09:00
Kconfig
loop.c
Makefile
nvmet.h nvmet: fix dsm failure when payload does not match sgl descriptor 2020-02-04 03:00:24 +09:00
rdma.c
tcp.c
trace.c
trace.h