+11
−6
Loading
We cannot count AERs as outstanding IO for purposes of subsystem pause, because we cannot expect them to be completed. Previously we would account for this in nvmf_ctrlr_async_event_request() by decrementing the counter, but this did not consider cases in the calling function (nvmf_ctrlr_process_admin_cmd) where an AER might complete with error before this function, resulting in the counter getting stuck indefinitely with a >0 value. Rather than adding a decrement in all of those error cases, do a single check at the beginning of nvmf_ctrlr_process_admin_cmd, and remove the one from nvmf_ctrlr_async_event_request. Fixes issue #2215. Signed-off-by:Jim Harris <james.r.harris@intel.com> Change-Id: Ica969f116d80dfba0168369ff2fba9a4a42fc076 Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/13678 Tested-by:
SPDK CI Jenkins <sys_sgci@intel.com> Reviewed-by:
Changpeng Liu <changpeng.liu@intel.com> Reviewed-by:
Dong Yi <dongx.yi@intel.com> Reviewed-by:
Shuhei Matsumoto <smatsumoto@nvidia.com> Reviewed-by:
Aleksey Marchuk <alexeymar@nvidia.com>