diff options
author | Klaus Jensen <k.jensen@samsung.com> | 2020-08-24 12:43:38 +0200 |
---|---|---|
committer | Klaus Jensen <k.jensen@samsung.com> | 2020-10-27 07:24:46 +0100 |
commit | 6a09a3d737adbacd2b1d19596f0ac05de2a08aa7 (patch) | |
tree | 1695853d70d01022ea91368e5ec38b6c601a8f20 /hw/block/nvme.h | |
parent | e2f79209cd0129b8f27b87908de09cdc44a94baa (diff) |
hw/block/nvme: refactor aio submission
This pulls block layer aio submission/completion to common functions.
For completions, additionally map an AIO error to the Unrecovered Read
and Write Fault status codes.
Signed-off-by: Klaus Jensen <k.jensen@samsung.com>
Reviewed-by: Keith Busch <kbusch@kernel.org>
Diffstat (limited to 'hw/block/nvme.h')
-rw-r--r-- | hw/block/nvme.h | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/hw/block/nvme.h b/hw/block/nvme.h index ce9e931420..f355eccb32 100644 --- a/hw/block/nvme.h +++ b/hw/block/nvme.h @@ -171,4 +171,18 @@ static inline uint64_t nvme_ns_nlbas(NvmeCtrl *n, NvmeNamespace *ns) return n->ns_size >> nvme_ns_lbads(ns); } +static inline NvmeCQueue *nvme_cq(NvmeRequest *req) +{ + NvmeSQueue *sq = req->sq; + NvmeCtrl *n = sq->ctrl; + + return n->cq[sq->cqid]; +} + +static inline NvmeCtrl *nvme_ctrl(NvmeRequest *req) +{ + NvmeSQueue *sq = req->sq; + return sq->ctrl; +} + #endif /* HW_NVME_H */ |