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

Want CFS/NSNR and related NVMe Error Injection Capabilities #698

Open
rmustacc opened this issue May 2, 2024 · 0 comments
Open

Want CFS/NSNR and related NVMe Error Injection Capabilities #698

rmustacc opened this issue May 2, 2024 · 0 comments
Labels
enhancement New feature or request. storage Related to storage devices/backends. testing Related to testing and/or the PHD test framework.

Comments

@rmustacc
Copy link

rmustacc commented May 2, 2024

In the field, there are a number of ways that NVMe drives can fail. There are few things that it would be great to simulate in Propolis. I'm going to call out a few of these here:

  • We would like the ability to set the drive into a CFS state where by that bit is set and it will refuse to process additional I/O. There are two different paths forward we would like to have on the device:
    • On reset, the device continues to basically issue an NSNR until we format it. I realize that may be a little complicated as it requires some persistent state to be kept and tracked around. I think it'd be fine is this was only in-memory state.
    • On reset the CFS is cleared and the device begins processing again. The former is one we've seen more commonly on certain firmware revs, but this behavior seems useful to test.
  • A device starting up in a read-only media mode
  • Injecting asynchronous events that cover:
    • NVM subsystem reliability which results in a read-only media and related information in the SMART / health log. PArticularly, bit 3 is the most relevant in the critical warning field, but others may be interesting.
    • Transient / persistent internal errors, the latter which results in CFS being set.

Obviously with all these these are things we likely don't want to include in the product as a whole; however, the media read-only mode based on crucible going down to a single replica may be interesting.

@rmustacc rmustacc added enhancement New feature or request. storage Related to storage devices/backends. testing Related to testing and/or the PHD test framework. labels May 2, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request. storage Related to storage devices/backends. testing Related to testing and/or the PHD test framework.
Projects
None yet
Development

No branches or pull requests

1 participant