Commit 5446c541 authored by JinYu's avatar JinYu Committed by Darek Stojaczyk
Browse files

examples/nvme: fix memory leaks of arbitration case



The ns_ctxs of worker_thread are organised as a list, so they
should be freed totally.

Change-Id: I348cacb12c338dfe0df100e1dc3de7b9f95bfda1
Signed-off-by: default avatarJinYu <jin.yu@intel.com>
Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/458036


Reviewed-by: default avatarShuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>
Reviewed-by: default avatarBen Walker <benjamin.walker@intel.com>
Reviewed-by: default avatarDarek Stojaczyk <dariusz.stojaczyk@intel.com>
Tested-by: default avatarSPDK CI Jenkins <sys_sgci@intel.com>
parent c3d1e498
Loading
Loading
Loading
Loading
+9 −1
Original line number Diff line number Diff line
@@ -434,8 +434,16 @@ cleanup(uint32_t task_count)
	};

	while (worker) {
		struct ns_worker_ctx *ns_ctx = worker->ns_ctx;

		/* ns_worker_ctx is a list in the worker */
		while (ns_ctx) {
			struct ns_worker_ctx *next_ns_ctx = ns_ctx->next;
			free(ns_ctx);
			ns_ctx = next_ns_ctx;
		}

		next_worker = worker->next;
		free(worker->ns_ctx);
		free(worker);
		worker = next_worker;
	};