diff options
| author | Jens Axboe <axboe@fb.com> | 2015-10-09 10:08:39 -0600 |
|---|---|---|
| committer | Jens Axboe <axboe@fb.com> | 2015-10-09 10:08:39 -0600 |
| commit | fd48ca384960c831d4fae4636282e422e140ca7c (patch) | |
| tree | cfa3b992c3f589073aed67d46d13404f63a97283 /drivers/block/loop.c | |
| parent | fs: direct-io: don't dirtying pages for ITER_BVEC/ITER_KVEC direct read (diff) | |
| parent | Linux 4.3-rc4 (diff) | |
| download | linux-fd48ca384960c831d4fae4636282e422e140ca7c.tar.gz linux-fd48ca384960c831d4fae4636282e422e140ca7c.zip | |
Merge tag 'v4.3-rc4' into for-4.4/core
Linux 4.3-rc4
Pulling in v4.3-rc4 to avoid conflicts with NVMe fixes that have gone
in since for-4.4/core was based.
Diffstat (limited to 'drivers/block/loop.c')
| -rw-r--r-- | drivers/block/loop.c | 11 |
1 files changed, 5 insertions, 6 deletions
diff --git a/drivers/block/loop.c b/drivers/block/loop.c index f9889b6bc02c..674f800a3b57 100644 --- a/drivers/block/loop.c +++ b/drivers/block/loop.c @@ -1486,17 +1486,16 @@ static void loop_handle_cmd(struct loop_cmd *cmd) { const bool write = cmd->rq->cmd_flags & REQ_WRITE; struct loop_device *lo = cmd->rq->q->queuedata; - int ret = -EIO; + int ret = 0; - if (write && (lo->lo_flags & LO_FLAGS_READ_ONLY)) + if (write && (lo->lo_flags & LO_FLAGS_READ_ONLY)) { + ret = -EIO; goto failed; + } ret = do_req_filebacked(lo, cmd->rq); - failed: - if (ret) - cmd->rq->errors = -EIO; - blk_mq_complete_request(cmd->rq); + blk_mq_complete_request(cmd->rq, ret ? -EIO : 0); } static void loop_queue_write_work(struct work_struct *work) |
