nvmet: clean up command parsing a bit
[linux-2.6-block.git] / drivers / nvme / target / admin-cmd.c
index cd2c3a79f3b5223f004b2a430f95e70ca77a3e68..56c21b5011852b15eaf899e625d5a15b251b14b3 100644 (file)
@@ -879,6 +879,11 @@ u16 nvmet_parse_admin_cmd(struct nvmet_req *req)
        struct nvme_command *cmd = req->cmd;
        u16 ret;
 
+       if (nvme_is_fabrics(cmd))
+               return nvmet_parse_fabrics_cmd(req);
+       if (req->sq->ctrl->subsys->type == NVME_NQN_DISC)
+               return nvmet_parse_discovery_cmd(req);
+
        ret = nvmet_check_ctrl_status(req, cmd);
        if (unlikely(ret))
                return ret;