lib/ftl: Wait for IO retry queue drain during shutdown

In case shutdown occurs during band relocation
we can have situation that on retry queue are
some internal IOs and we need to wait to drain
this queue before we start shutdown sequence.

Change-Id: Ie5b33732568aeda0586f4de384b22dcf463bf31e
Signed-off-by: Wojciech Malikowski <wojciech.malikowski@intel.com>
Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/460421
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
Reviewed-by: Konrad Sztyber <konrad.sztyber@intel.com>
Reviewed-by: Darek Stojaczyk <dariusz.stojaczyk@intel.com>
This commit is contained in:
Wojciech Malikowski 2019-07-04 04:28:28 -04:00 committed by Jim Harris
parent 4d9faf7c6b
commit 093bc3390a

View File

@ -791,7 +791,7 @@ static int
ftl_shutdown_complete(struct spdk_ftl_dev *dev)
{
return !__atomic_load_n(&dev->num_inflight, __ATOMIC_SEQ_CST) &&
LIST_EMPTY(&dev->wptr_list);
LIST_EMPTY(&dev->wptr_list) && TAILQ_EMPTY(&dev->retry_queue);
}
void