From e2fb1b80e19dcb2c22d6afa68d310aa5c6843af1 Mon Sep 17 00:00:00 2001 From: Wojciech Malikowski Date: Tue, 11 Jun 2019 11:00:50 -0400 Subject: [PATCH] lib/ftl: Check if any additional relocation was added Return immediatly from ftl_reloc_add() if no new blocks was added to relocation. Change-Id: If80dfa725e0bb9f3b8987740012858a671c5ad90 Signed-off-by: Wojciech Malikowski Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/457626 Tested-by: SPDK CI Jenkins Reviewed-by: Darek Stojaczyk Reviewed-by: Shuhei Matsumoto Reviewed-by: Konrad Sztyber --- lib/ftl/ftl_reloc.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/lib/ftl/ftl_reloc.c b/lib/ftl/ftl_reloc.c index e33f3a06c..fce21e3fa 100644 --- a/lib/ftl/ftl_reloc.c +++ b/lib/ftl/ftl_reloc.c @@ -787,6 +787,10 @@ ftl_reloc_add(struct ftl_reloc *reloc, struct ftl_band *band, size_t offset, breloc->num_lbks++; } + if (!prio && prev_lbks == breloc->num_lbks) { + return; + } + if (!prev_lbks && !prio && !breloc->active) { TAILQ_INSERT_HEAD(&reloc->pending_queue, breloc, entry); }