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

NAS-133888 / 25.10 / Initial round of disk enumeration improvements #15529

Merged
merged 2 commits into from
Jan 30, 2025

Conversation

yocalebo
Copy link
Contributor

We need to clean up how we enumerate disks. The SED investigations have exposed some very obvious issues in this area. This is the first step at adding stand-alone functions for this task. Please note that there is some duplicate functionality spread out all over our code in this area, but this will be used as the "source" moving forward. Most importantly, however, is that we have an oustanding SED unlock issue that we need to address but we need the get_disks function that I've written in here first.

On an internal system with ~1.2k+ disks, this takes ~0.23 seconds to complete. That's pretty darn good since it enumerates the serial AND "lunid" information of each disk in real-time. Careful reviewers will note that it uses the udevd database which is not the end of the world. Udevd does a ton of work caching the various disk information for us in 1 place. We shouldn't throw the baby out with the bathwater just because of some (very) painful issues that we've experienced in the past.

Subsequent PRs will follow to change existing code to use this new functionality. We've chosen to do it this way since enumerating disk information is a critical part of our product.

@yocalebo yocalebo requested a review from a team January 30, 2025 17:55
@bugclerk
Copy link
Contributor

@bugclerk bugclerk changed the title Initial round of disk enumeration improvements NAS-133888 / 25.10 / Initial round of disk enumeration improvements Jan 30, 2025
@yocalebo yocalebo merged commit 07bb4ae into master Jan 30, 2025
2 checks passed
@yocalebo yocalebo deleted the more-disk-improvs branch January 30, 2025 19:02
@bugclerk
Copy link
Contributor

This PR has been merged and conversations have been locked.
If you would like to discuss more about this issue please use our forums or raise a Jira ticket.

@truenas truenas locked as resolved and limited conversation to collaborators Jan 30, 2025
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants