loop.c (d053cf0d771f6547cb0537759a9af63cf402908d) | loop.c (ff029451496364eef0d342618dfc9972b78f3392) |
---|---|
1// SPDX-License-Identifier: GPL-2.0 2/* 3 * NVMe over Fabrics loopback device. 4 * Copyright (c) 2015-2016 HGST, a Western Digital Company. 5 */ 6#define pr_fmt(fmt) KBUILD_MODNAME ": " fmt 7#include <linux/scatterlist.h> 8#include <linux/blk-mq.h> --- 102 unchanged lines hidden (view full) --- 111 rq = blk_mq_tag_to_rq(nvme_loop_tagset(queue), cqe->command_id); 112 if (!rq) { 113 dev_err(queue->ctrl->ctrl.device, 114 "tag 0x%x on queue %d not found\n", 115 cqe->command_id, nvme_loop_queue_idx(queue)); 116 return; 117 } 118 | 1// SPDX-License-Identifier: GPL-2.0 2/* 3 * NVMe over Fabrics loopback device. 4 * Copyright (c) 2015-2016 HGST, a Western Digital Company. 5 */ 6#define pr_fmt(fmt) KBUILD_MODNAME ": " fmt 7#include <linux/scatterlist.h> 8#include <linux/blk-mq.h> --- 102 unchanged lines hidden (view full) --- 111 rq = blk_mq_tag_to_rq(nvme_loop_tagset(queue), cqe->command_id); 112 if (!rq) { 113 dev_err(queue->ctrl->ctrl.device, 114 "tag 0x%x on queue %d not found\n", 115 cqe->command_id, nvme_loop_queue_idx(queue)); 116 return; 117 } 118 |
119 nvme_end_request(rq, cqe->status, cqe->result); | 119 if (!nvme_end_request(rq, cqe->status, cqe->result)) 120 nvme_loop_complete_rq(rq); |
120 } 121} 122 123static void nvme_loop_execute_work(struct work_struct *work) 124{ 125 struct nvme_loop_iod *iod = 126 container_of(work, struct nvme_loop_iod, work); 127 --- 590 unchanged lines hidden --- | 121 } 122} 123 124static void nvme_loop_execute_work(struct work_struct *work) 125{ 126 struct nvme_loop_iod *iod = 127 container_of(work, struct nvme_loop_iod, work); 128 --- 590 unchanged lines hidden --- |