Commit 4b8b6240 authored by Ben Walker's avatar Ben Walker Committed by Tomasz Zawadzki
Browse files

bdevperf: Rename end_job to bdevperf_job_drain



This function kicks off the draining process, so name it appropriately.

Signed-off-by: default avatarBen Walker <benjamin.walker@intel.com>
Change-Id: Ic447aaa01612f6355ff4404d476419b55a3d0cff
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/1386


Tested-by: default avatarSPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: default avatarAleksey Marchuk <alexeymar@mellanox.com>
Reviewed-by: default avatarJim Harris <james.r.harris@intel.com>
Reviewed-by: default avatarShuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>
parent 3cd14ee3
Loading
Loading
Loading
Loading
+16 −22
Original line number Diff line number Diff line
@@ -351,15 +351,19 @@ bdevperf_queue_io_wait_with_cb(struct bdevperf_task *task, spdk_bdev_io_wait_cb
	spdk_bdev_queue_io_wait(job->bdev, job->ch, &task->bdev_io_wait);
}

static void
_end_job(struct bdevperf_job *job)
static int
bdevperf_job_drain(void *ctx)
{
	struct bdevperf_job *job = ctx;

	spdk_poller_unregister(&job->run_timer);
	if (g_reset) {
		spdk_poller_unregister(&job->reset_timer);
	}

	job->is_draining = true;

	return -1;
}

static void
@@ -376,7 +380,7 @@ bdevperf_complete(struct spdk_bdev_io *bdev_io, bool success, void *cb_arg)

	if (!success) {
		if (!g_reset && !g_continue_on_failure) {
			_end_job(job);
			bdevperf_job_drain(job);
			g_run_rc = -1;
			printf("task offset: %lu on job bdev=%s fails\n",
			       task->offset_blocks, job->name);
@@ -392,7 +396,7 @@ bdevperf_complete(struct spdk_bdev_io *bdev_io, bool success, void *cb_arg)
				 job->io_size_blocks, md_check)) {
			printf("Buffer mismatch! Target: %s Disk Offset: %lu\n", job->name, task->offset_blocks);
			printf("   First dword expected 0x%x got 0x%x\n", *(int *)task->buf, *(int *)iovs[0].iov_base);
			_end_job(job);
			bdevperf_job_drain(job);
			g_run_rc = -1;
		}
	}
@@ -450,7 +454,7 @@ bdevperf_verify_submit_read(void *cb_arg)
		bdevperf_queue_io_wait_with_cb(task, bdevperf_verify_submit_read);
	} else if (rc != 0) {
		printf("Failed to submit read: %d\n", rc);
		_end_job(job);
		bdevperf_job_drain(job);
		g_run_rc = rc;
	}
}
@@ -596,7 +600,7 @@ bdevperf_submit_task(void *arg)
		return;
	} else if (rc != 0) {
		printf("Failed to submit bdev_io: %d\n", rc);
		_end_job(job);
		bdevperf_job_drain(job);
		g_run_rc = rc;
		return;
	}
@@ -613,7 +617,7 @@ bdevperf_zcopy_get_buf_complete(struct spdk_bdev_io *bdev_io, bool success, void
	int			iovcnt;

	if (!success) {
		_end_job(job);
		bdevperf_job_drain(job);
		g_run_rc = -1;
		return;
	}
@@ -753,16 +757,6 @@ bdevperf_submit_io(struct bdevperf_job *job, int queue_depth)
	}
}

static int
end_job(void *arg)
{
	struct bdevperf_job *job = arg;

	_end_job(job);

	return -1;
}

static int reset_job(void *arg);

static void
@@ -773,7 +767,7 @@ reset_cb(struct spdk_bdev_io *bdev_io, bool success, void *cb_arg)

	if (!success) {
		printf("Reset blockdev=%s failed\n", spdk_bdev_get_name(job->bdev));
		_end_job(job);
		bdevperf_job_drain(job);
		g_run_rc = -1;
	}

@@ -799,7 +793,7 @@ reset_job(void *arg)
			     reset_cb, task);
	if (rc) {
		printf("Reset failed: %d\n", rc);
		_end_job(job);
		bdevperf_job_drain(job);
		g_run_rc = -1;
	}

@@ -830,7 +824,7 @@ bdevperf_submit_on_reactor(struct spdk_io_channel_iter *i)
		}

		/* Start a timer to stop this I/O chain when the run is over */
		job->run_timer = spdk_poller_register(end_job, job,
		job->run_timer = spdk_poller_register(bdevperf_job_drain, job,
						      g_time_in_usec);
		if (g_reset) {
			job->reset_timer = spdk_poller_register(reset_job, job,
@@ -1088,7 +1082,7 @@ bdevperf_job_gone(void *arg)
	assert(spdk_io_channel_get_thread(spdk_io_channel_from_ctx(job->reactor)) ==
	       spdk_get_thread());

	_end_job(job);
	bdevperf_job_drain(job);
}

static int
@@ -1425,7 +1419,7 @@ bdevperf_stop_io_on_reactor(struct spdk_io_channel_iter *i)

	/* Stop I/O for each block device. */
	TAILQ_FOREACH(job, &reactor->jobs, link) {
		end_job(job);
		bdevperf_job_drain(job);
	}

	spdk_for_each_channel_continue(i, 0);