From 1e2b25ec204d1969bdc429e2ce9d74f160ca6268 Mon Sep 17 00:00:00 2001 From: Ziye Yang Date: Mon, 16 Jul 2018 21:33:05 +0800 Subject: [PATCH] bdevperf: fix the reset testing failure issue. Root cause: we did not check the status of the bdev_io in bdevperf_verify_write_complete function. So the fix is that: if the status is failed, we should not do the read check again, but just complete this I/O. Change-Id: I3dc796abe47c3f2e7eeb2b6eb0ebc0338122479d Signed-off-by: Ziye Yang Reviewed-on: https://review.gerrithub.io/419338 Tested-by: SPDK CI Jenkins Reviewed-by: Chunyang Hui Reviewed-by: Ben Walker Reviewed-by: Shuhei Matsumoto Reviewed-by: Changpeng Liu Chandler-Test-Pool: SPDK Automated Test System --- test/bdev/bdevperf/bdevperf.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/test/bdev/bdevperf/bdevperf.c b/test/bdev/bdevperf/bdevperf.c index fce47d45a..a5cc7d855 100644 --- a/test/bdev/bdevperf/bdevperf.c +++ b/test/bdev/bdevperf/bdevperf.c @@ -362,8 +362,12 @@ static void bdevperf_verify_write_complete(struct spdk_bdev_io *bdev_io, bool success, void *cb_arg) { - spdk_bdev_free_io(bdev_io); - bdevperf_verify_submit_read(cb_arg); + if (success) { + spdk_bdev_free_io(bdev_io); + bdevperf_verify_submit_read(cb_arg); + } else { + bdevperf_complete(bdev_io, success, cb_arg); + } } static __thread unsigned int seed = 0;