Commit 154989e4 authored by Christoph Hellwig's avatar Christoph Hellwig Committed by Jens Axboe
Browse files

aio: clear IOCB_HIPRI



No one is going to poll for aio (yet), so we must clear the HIPRI
flag, as we would otherwise send it down the poll queues, where no
one will be polling for completions.

Signed-off-by: default avatarChristoph Hellwig <hch@lst.de>

IOCB_HIPRI, not RWF_HIPRI.

Reviewed-by: default avatarJohannes Thumshirn <jthumshirn@suse.de>
Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
parent 89d04ec3
Loading
Loading
Loading
Loading
+8 −3
Original line number Diff line number Diff line
@@ -1436,8 +1436,7 @@ static int aio_prep_rw(struct kiocb *req, struct iocb *iocb)
		ret = ioprio_check_cap(iocb->aio_reqprio);
		if (ret) {
			pr_debug("aio ioprio check cap error: %d\n", ret);
			fput(req->ki_filp);
			return ret;
			goto out_fput;
		}

		req->ki_ioprio = iocb->aio_reqprio;
@@ -1446,6 +1445,12 @@ static int aio_prep_rw(struct kiocb *req, struct iocb *iocb)

	ret = kiocb_set_rw_flags(req, iocb->aio_rw_flags);
	if (unlikely(ret))
		goto out_fput;

	req->ki_flags &= ~IOCB_HIPRI; /* no one is going to poll for this I/O */
	return 0;

out_fput:
	fput(req->ki_filp);
	return ret;
}