Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

nvme: Health Information #975

Merged
merged 7 commits into from Aug 1, 2022
Merged

Conversation

tbzatek
Copy link
Member

@tbzatek tbzatek commented May 3, 2022

(the first commits are from #973)

NVMe SMART / Health Information (Log Identifier 02h) support

TODO:

  • trigger a self-test
  • sanitize
  • provide time estimates for self-tests and sanitize operations
  • error log retrieval
  • error messages: check controller capabilities prior to issuing commands (that would typically fail with a cryptic error message)
  • when self-test/sanitize/format operation is running as a result of an external action, shall we poll until it's finished?

Fixes #386

@tbzatek tbzatek force-pushed the nvme-base-2 branch 3 times, most recently from c7b2541 to 0efc72e Compare May 19, 2022 14:52
@tbzatek tbzatek mentioned this pull request Jun 7, 2022
@tbzatek tbzatek marked this pull request as ready for review June 10, 2022 12:43
@tbzatek tbzatek changed the title [WIP] nvme: Health Information nvme: Health Information Jun 10, 2022
@tbzatek
Copy link
Member Author

tbzatek commented Jun 10, 2022

Rebased, ready for review.

The two points outlined in the description are still valid but I plan to address them later.

Copy link
Member

@vojtechtrefny vojtechtrefny left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good to me.

src/udiskslinuxnvmecontroller.c Outdated Show resolved Hide resolved
src/udiskslinuxnvmecontroller.c Outdated Show resolved Hide resolved
@tbzatek
Copy link
Member Author

tbzatek commented Aug 1, 2022

Jenkins, test this please.

Copy link
Member

@vojtechtrefny vojtechtrefny left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Still looks good, thank you for the assert replacements.

@tbzatek tbzatek merged commit b98210e into storaged-project:master Aug 1, 2022
@papylhomme
Copy link

@tbzatek any ETA for a release including this ?

@tbzatek
Copy link
Member Author

tbzatek commented Aug 15, 2022

@tbzatek any ETA for a release including this ?

Well, we first need to finish the API changes we're currently making for the libblockdev-3.0 release, followed by some more porting and refactoring in UDisks. Translations need to be dealt with also. The target is currently before the end of this year.

NVMe-related, #983 is still pending on review. I would still like to sneak NVMeoF discovery in if possible. The NVMe support received only minimal testing so far and needs to be tested on real drives to ensure the new API is useful and reasonably future proof.

If you could test snapshots of libblockdev and udisks in the meantime and/or post any more requirements, we might still make the changes before the API is released in public.

@papylhomme
Copy link

Perfect, building libblockdev right now, I'll let you know if I miss anything

@MrPippin66
Copy link

Is the code path to include a new node 'drive.nvme' being considered or still in progress?

@tbzatek
Copy link
Member Author

tbzatek commented Aug 21, 2023

Is the code path to include a new node 'drive.nvme' being considered or still in progress?

If you check status of this pull request, you can see 'Merged'.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

No Drive.Ata interface for NVME SSDs
4 participants