oxidecomputer / oxidecomputer/propolis

old nvme-cli does not like our nvme?

Open
#1,191 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

guest-os storage
Dominant language
Rust
Stars
270
Forks
42
Avg merge
4d 5h
Merged PRs (30d)
6

Description

i noticed in an Ubuntu 22.04 today on dogfood that:

ubuntu@large-ixi:~$ nvme list
Node                  SN                   Model                                    Namespace Usage                      Format           FW Rev  
--------------------- -------------------- ---------------------------------------- --------- -------------------------- ---------------- --------
/dev/nvme0n1                                                                        1           0.00   B /   0.00   B      1   B +  0 B   
/dev/nvme1n1                                                                        1           0.00   B /   0.00   B      1   B +  0 B   

... well, that's wrong. the namespaces have more than 0 bytes, the serial number is not actually blank, and the sectors are most certainly not 1 byte. i should mention: Linux is fine with the disks; this VM booted off of /dev/nvme0 and that's where my shell is!

the nvme here is nvme 1.16, whereas at least by 24.04 the CLI tool has been updated to 2.8 with an explicit note of libnvme version 1.8. so this is probably just that the older nvme (or libnvme?) do not like our already known-to-be-funky NVMe devices with null model number and null-padded serials.

once we've got #790 sorted (and/or some form of #1004) we should take a look at this again and see if the number make sense. if time permits, figuring out exactly how we're confusing nvme wouldn't hurt!

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reproducing nvme list on Ubuntu 22.04 with nvme 1.16, then compare its output with nvme 2.8 and libnvme 1.8 on newer Ubuntu. Revisit this after #790 and/or #1004; done means explaining the incompatibility or producing correct namespace sizes, serial numbers, and format values.

Written by the indexing model from the issue text.

Assessment

Tech stack
linux, rust, ubuntu
Domain
operating-systems
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.