Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 51111666 authored by Mike Christie's avatar Mike Christie Committed by Jens Axboe
Browse files

dm: use op_is_write instead of checking for REQ_WRITE



We currently set REQ_WRITE/WRITE for all non READ IOs
like discard, flush, writesame, etc. In the next patches where we
no longer set up the op as a bitmap, we will not be able to
detect a operation direction like writesame by testing if REQ_WRITE is
set.

This has dm use the op_is_write helper which will do the right
thing.

Signed-off-by: default avatarMike Christie <mchristi@redhat.com>
Reviewed-by: default avatarHannes Reinecke <hare@suse.com>
Signed-off-by: default avatarJens Axboe <axboe@fb.com>
parent a8ebb056
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -409,7 +409,7 @@ static int sync_io(struct dm_io_client *client, unsigned int num_regions,
	struct io *io;
	struct sync_io sio;

	if (num_regions > 1 && (rw & RW_MASK) != WRITE) {
	if (num_regions > 1 && !op_is_write(rw)) {
		WARN_ON(1);
		return -EIO;
	}
@@ -442,7 +442,7 @@ static int async_io(struct dm_io_client *client, unsigned int num_regions,
{
	struct io *io;

	if (num_regions > 1 && (rw & RW_MASK) != WRITE) {
	if (num_regions > 1 && !op_is_write(rw)) {
		WARN_ON(1);
		fn(1, context);
		return -EIO;
+3 −3
Original line number Diff line number Diff line
@@ -465,7 +465,7 @@ static void complete_io(unsigned long error, void *context)
	io_job_finish(kc->throttle);

	if (error) {
		if (job->rw & WRITE)
		if (op_is_write(job->rw))
			job->write_err |= error;
		else
			job->read_err = 1;
@@ -477,7 +477,7 @@ static void complete_io(unsigned long error, void *context)
		}
	}

	if (job->rw & WRITE)
	if (op_is_write(job->rw))
		push(&kc->complete_jobs, job);

	else {
@@ -550,7 +550,7 @@ static int process_jobs(struct list_head *jobs, struct dm_kcopyd_client *kc,

		if (r < 0) {
			/* error this rogue job */
			if (job->rw & WRITE)
			if (op_is_write(job->rw))
				job->write_err = (unsigned long) -1L;
			else
				job->read_err = 1;