nvme_assert
nvme_assert(qpair != NULL, "print_command: qpair == NULL\n");
nvme_assert(cmd != NULL, "print_command: cmd == NULL\n");
nvme_assert(qpair != NULL, "qpair can not be NULL");
nvme_assert(cmd != NULL, "cmd can not be NULL");
nvme_assert(tr->req != NULL,
nvme_assert(req->payload_size != 0,
nvme_assert(req->payload.type == NVME_PAYLOAD_TYPE_SGL,
nvme_assert(req->payload.u.sgl.reset_sgl_fn != NULL,
nvme_assert(req->payload.u.sgl.next_sge_fn != NULL,
nvme_assert(req->payload.type == NVME_PAYLOAD_TYPE_SGL,
nvme_assert(req->payload.u.sgl.reset_sgl_fn != NULL,
nvme_assert(req->payload.u.sgl.next_sge_fn != NULL,
nvme_assert((phys_addr & 0x3) == 0, "address must be dword aligned\n");
nvme_assert((length >= remaining_transfer_len) || ((phys_addr + length) % PAGE_SIZE) == 0,
nvme_assert((sge_count == 0) || (phys_addr % PAGE_SIZE) == 0,
nvme_assert(entries != 0, "Invalid number of entries\n");
nvme_assert(trackers != 0, "Invalid trackers\n");
nvme_assert(req->child_reqs == 0, "Number of child request not 0\n");
nvme_assert(child->parent == parent, "child->parent != parent\n");
nvme_assert(parent->child_reqs != 0, "child_reqs is 0\n");