summaryrefslogtreecommitdiff
path: root/Kbuild
diff options
context:
space:
mode:
authorDaniel Wagner <dwagner@suse.de>2020-01-30 10:29:34 -0800
committerKeith Busch <kbusch@kernel.org>2020-02-05 01:56:10 +0900
commit0f5be6a4ff7b3f8bf3db15f904e3e76797a43d9a (patch)
tree1957d29986256cd9e8be64a4236fadb5c9200d6d /Kbuild
parent1a3f540d63152b8db0a12de508bfa03776217d83 (diff)
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>
Diffstat (limited to 'Kbuild')
0 files changed, 0 insertions, 0 deletions