From 093bc3390a0670b307551bda7b341e05244df806 Mon Sep 17 00:00:00 2001 From: Wojciech Malikowski Date: Thu, 4 Jul 2019 04:28:28 -0400 Subject: [PATCH] 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 Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/460421 Tested-by: SPDK CI Jenkins Reviewed-by: Jim Harris Reviewed-by: Ben Walker Reviewed-by: Konrad Sztyber Reviewed-by: Darek Stojaczyk --- lib/ftl/ftl_core.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/ftl/ftl_core.c b/lib/ftl/ftl_core.c index fc294d43c..0b663b54e 100644 --- a/lib/ftl/ftl_core.c +++ b/lib/ftl/ftl_core.c @@ -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