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 <ziye.yang@intel.com>
Reviewed-on: https://review.gerrithub.io/419338
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Chunyang Hui <chunyang.hui@intel.com>
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
Reviewed-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>
Reviewed-by: Changpeng Liu <changpeng.liu@intel.com>
Chandler-Test-Pool: SPDK Automated Test System <sys_sgsw@intel.com>
This commit is contained in:
Ziye Yang 2018-07-16 21:33:05 +08:00 committed by Changpeng Liu
parent 9ddf643831
commit 1e2b25ec20

View File

@ -362,8 +362,12 @@ static void
bdevperf_verify_write_complete(struct spdk_bdev_io *bdev_io, bool success, bdevperf_verify_write_complete(struct spdk_bdev_io *bdev_io, bool success,
void *cb_arg) void *cb_arg)
{ {
spdk_bdev_free_io(bdev_io); if (success) {
bdevperf_verify_submit_read(cb_arg); 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; static __thread unsigned int seed = 0;