Skip to content

Commit

Permalink
hw/block/nvme: replace nvme_ns_status
Browse files Browse the repository at this point in the history
The inline nvme_ns_status() helper only has a single call site. Remove
it from the header file and inline it for real.

Signed-off-by: Klaus Jensen <k.jensen@samsung.com>
Reviewed-by: Keith Busch <kbusch@kernel.org>
  • Loading branch information
birkelund committed May 17, 2021
1 parent de482d1 commit 0c76fee
Show file tree
Hide file tree
Showing 2 changed files with 8 additions and 12 deletions.
15 changes: 8 additions & 7 deletions hw/block/nvme.c
Expand Up @@ -3609,8 +3609,8 @@ static uint16_t nvme_zone_mgmt_recv(NvmeCtrl *n, NvmeRequest *req)

static uint16_t nvme_io_cmd(NvmeCtrl *n, NvmeRequest *req)
{
NvmeNamespace *ns;
uint32_t nsid = le32_to_cpu(req->cmd.nsid);
uint16_t status;

trace_pci_nvme_io_cmd(nvme_cid(req), nsid, nvme_sqid(req),
req->cmd.opcode, nvme_io_opc_str(req->cmd.opcode));
Expand Down Expand Up @@ -3642,21 +3642,22 @@ static uint16_t nvme_io_cmd(NvmeCtrl *n, NvmeRequest *req)
return nvme_flush(n, req);
}

req->ns = nvme_ns(n, nsid);
if (unlikely(!req->ns)) {
ns = nvme_ns(n, nsid);
if (unlikely(!ns)) {
return NVME_INVALID_FIELD | NVME_DNR;
}

if (!(req->ns->iocs[req->cmd.opcode] & NVME_CMD_EFF_CSUPP)) {
if (!(ns->iocs[req->cmd.opcode] & NVME_CMD_EFF_CSUPP)) {
trace_pci_nvme_err_invalid_opc(req->cmd.opcode);
return NVME_INVALID_OPCODE | NVME_DNR;
}

status = nvme_ns_status(req->ns);
if (unlikely(status)) {
return status;
if (ns->status) {
return ns->status;
}

req->ns = ns;

switch (req->cmd.opcode) {
case NVME_CMD_WRITE_ZEROES:
return nvme_write_zeroes(n, req);
Expand Down
5 changes: 0 additions & 5 deletions hw/block/nvme.h
Expand Up @@ -137,11 +137,6 @@ typedef struct NvmeNamespace {
} features;
} NvmeNamespace;

static inline uint16_t nvme_ns_status(NvmeNamespace *ns)
{
return ns->status;
}

static inline uint32_t nvme_nsid(NvmeNamespace *ns)
{
if (ns) {
Expand Down

0 comments on commit 0c76fee

Please sign in to comment.