Skip to content

Commit e447233

Browse files
author
Deyoung Hong
committed
Fix NVMe status.
1 parent 8a3a649 commit e447233

File tree

3 files changed

+32
-28
lines changed

3 files changed

+32
-28
lines changed

src/unvme_nvme.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -159,7 +159,7 @@ int nvme_check_completion(nvme_queue_t* q, int* stat, u32* cqe_cs)
159159
nvme_cq_entry_t* cqe = &q->cq[q->cq_head];
160160
if (cqe->p == q->cq_phase) return -1;
161161

162-
*stat = cqe->psf & 0xfe;
162+
*stat = cqe->psf & 0xfffe;
163163
if (++q->cq_head == q->size) {
164164
q->cq_head = 0;
165165
q->cq_phase = !q->cq_phase;

test/python/unvme_info.py

Lines changed: 16 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -11,20 +11,22 @@
1111

1212
# Print device info
1313
def print_info(ns):
14-
print("PCI device: %06x" % ns.pci)
15-
print("Namespace: %d (of %d)" % (ns.id, ns.nscount))
16-
print("Vendor ID: %#x" % ns.vid)
17-
print("Model number: %.40s" % str(ns.mn))
18-
print("Serial number: %.20s" % str(ns.sn))
19-
print("FW revision: %.8s" % str(ns.fr))
20-
print("Block count: %#lx" % ns.blockcount)
21-
print("Page count: %#lx" % ns.pagecount)
22-
print("Block size: %d" % ns.blocksize)
23-
print("Page size : %d" % ns.pagesize)
24-
print("Blocks per page: %d" % ns.nbpp)
25-
print("Max blocks per IO: %d" % ns.maxbpio)
26-
print("Max IO queue count: %d" % ns.maxqcount)
27-
print("Max IO queue size: %d" % ns.maxqsize)
14+
print("PCI device: %06x" % ns.pci)
15+
print("Namespace: %d (of %d)" % (ns.id, ns.nscount))
16+
print("Vendor ID: %#x" % ns.vid)
17+
print("Model number: %.40s" % str(ns.mn))
18+
print("Serial number: %.20s" % str(ns.sn))
19+
print("FW revision: %.8s" % str(ns.fr))
20+
print("Block count: %#lx" % ns.blockcount)
21+
print("Page count: %#lx" % ns.pagecount)
22+
print("Block size: %d" % ns.blocksize)
23+
print("Page size : %d" % ns.pagesize)
24+
print("Blocks per page: %d" % ns.nbpp)
25+
print("Max blocks per IO: %d" % ns.maxbpio)
26+
print("Default IO queue count: %d" % ns.qcount)
27+
print("Default IO queue size: %d" % ns.qsize)
28+
print("Max IO queue count: %d" % ns.maxqcount)
29+
print("Max IO queue size: %d" % ns.maxqsize)
2830

2931

3032
# Main

test/unvme/unvme_info.c

Lines changed: 15 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -53,19 +53,21 @@ int main(int argc, char** argv)
5353
}
5454

5555
const unvme_ns_t* ns = unvme_open(argv[1]);
56-
printf("Namespace: %d (of %d)\n", ns->id, ns->nscount);
57-
printf("Vendor ID: %#x\n", ns->vid);
58-
printf("Model number: %.40s\n", ns->mn);
59-
printf("Serial number: %.20s\n", ns->sn);
60-
printf("FW revision: %.8s\n", ns->fr);
61-
printf("Block count: %#lx\n", ns->blockcount);
62-
printf("Page count: %#lx\n", ns->pagecount);
63-
printf("Block size: %d\n", ns->blocksize);
64-
printf("Page size : %d\n", ns->pagesize);
65-
printf("Blocks per page: %d\n", ns->nbpp);
66-
printf("Max blocks per IO: %d\n", ns->maxbpio);
67-
printf("Max IO queue count: %d\n", ns->maxqcount);
68-
printf("Max IO queue size: %d\n", ns->maxqsize);
56+
printf("Namespace: %d (of %d)\n", ns->id, ns->nscount);
57+
printf("Vendor ID: %#x\n", ns->vid);
58+
printf("Model number: %.40s\n", ns->mn);
59+
printf("Serial number: %.20s\n", ns->sn);
60+
printf("FW revision: %.8s\n", ns->fr);
61+
printf("Block count: %#lx\n", ns->blockcount);
62+
printf("Page count: %#lx\n", ns->pagecount);
63+
printf("Block size: %d\n", ns->blocksize);
64+
printf("Page size : %d\n", ns->pagesize);
65+
printf("Blocks per page: %d\n", ns->nbpp);
66+
printf("Max blocks per IO: %d\n", ns->maxbpio);
67+
printf("Default IO queue count: %d\n", ns->qcount);
68+
printf("Default IO queue size: %d\n", ns->qsize);
69+
printf("Max IO queue count: %d\n", ns->maxqcount);
70+
printf("Max IO queue size: %d\n", ns->maxqsize);
6971
unvme_close(ns);
7072

7173
return 0;

0 commit comments

Comments
 (0)