nvmet: Use direct IO for writes

We're designed to work with high-end devices where
direct IO makes perfect sense. We noticed that we
context switch by scheduling kblockd instead of going
directly to the device without REQ_SYNC for writes.

Signed-off-by: Sagi Grimberg <sagi@grimberg.me>
Reviewed-by: Jens Axboe <axboe@kernel.dk>
This commit is contained in:
Sagi Grimberg 2016-09-21 11:06:32 -07:00
parent 2d79c7dc8f
commit 9b349b080c
1 changed files with 1 additions and 0 deletions

View File

@ -58,6 +58,7 @@ static void nvmet_execute_rw(struct nvmet_req *req)
if (req->cmd->rw.opcode == nvme_cmd_write) { if (req->cmd->rw.opcode == nvme_cmd_write) {
op = REQ_OP_WRITE; op = REQ_OP_WRITE;
op_flags = WRITE_ODIRECT;
if (req->cmd->rw.control & cpu_to_le16(NVME_RW_FUA)) if (req->cmd->rw.control & cpu_to_le16(NVME_RW_FUA))
op_flags |= REQ_FUA; op_flags |= REQ_FUA;
} else { } else {