-
-
Notifications
You must be signed in to change notification settings - Fork 4.2k
SCSI udev rules: separate out HW detection, prepare removal of scsi-id #7594
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
base: main
Are you sure you want to change the base?
Conversation
rules/meson.build
Outdated
| # along with systemd; If not, see <http://www.gnu.org/licenses/>. | ||
|
|
||
| rules = files(''' | ||
| 55-storage-detection.rules |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
55-strage-hardware.rules
test/test-functions
Outdated
| # dmsetup installs 55-dm and 60-persistent-storage-dm on Debian/Ubuntu | ||
| # see https://anonscm.debian.org/cgit/pkg-lvm/lvm2.git/tree/debian/patches/0007-udev.patch | ||
| inst_rules 55-dm.rules 60-persistent-storage-dm.rules | ||
| inst_rules 55-dm.rules 55-storage-hardware-rules \ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
wrong file name again...
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
upps big sorry. I really tested this, no idea how that slipped in.
|
@yuwata, thanks for your thorough review. I fixed the issues you mentioned. |
|
Hmm... I think removing |
|
I am not sure that it can be comparable, but |
|
I was about to comment about the same thing; my idea for this whole conversion is to move all calls to scsi_id out of 60-persistent-storage.rules (like Martin did), but keep it in a rule set which complements the sg3_utils rules. The overall idea would be that one could keep one or other (or both or, of course, none); we would then have a series like 55-scsi-sg3_id.rules And one could leave out the first two (if eg sg3_utils is not installed), or the 59 rules (if and when scsi_id gets deprecated), and still get the same user experience. |
|
@yuwata, I had the impression that removing scsi_id was a set goal. One reason was the line in the TODO file that my patch removes, another remarks from @poettering I'd seen (e.g. his first comment on #7190), as well as various discussions with @hreinecke and @fbuihuu. I'm also quite positive that there are hardly any users of scsi_id outside udev/systemd. However, if you prefer to keep it around, I've no problem with dropping the last patch in the series. |
|
I'm sick today, I'll look into the build/packaging failures in detail later. |
|
OTOH scsi_id lives in /usr/lib/udev so it's not supposed to be used by anything but udev. |
|
dropping scsi_id makes a lot of sense to me, but i figure @kaysievers should review this before we merge this. |
|
@hreinecke, I'm not sure I understand your proposal correctly. It's crucial to separate
After applying my patch set, the job of This distinction should be mapped to rule numbers, too. In particular, 60 should be the separator between 1.) and 2.) above. IOW, SYMLINK calls should start only after 60. The rationale is simple - be sure all variables are correctly set before starting to set symlinks (there are a few exceptions for device-mapper rules currently, which we may want to address at a later stage). It's also important to split step 1) above into hardware property detection an content-based property detection, mostly because we need to make "further processing" decisions between these two steps (think multipath). We need a distinction by number here as well, and as multipath is currently at 56, I chose that. Unfortunately, number space is becoming a bit tight between 55 and 60. If we decide to keep
|
|
There has been no progress for 4 weeks, any suggestions? |
multipath -u needs ID_WWN für NVMe devices to determine the WWID. ID_WWN is currently set after multipath.rules is processed. Patches are under way to fix that (systemd/systemd#7594). Until then, insert a fallback rule here to make sure ID_WWN is set when multipath is called.
multipath -u needs ID_WWN für NVMe devices to determine the WWID. ID_WWN is currently set after multipath.rules is processed. Patches are under way to fix that (systemd/systemd#7594). Until then, insert a fallback rule here to make sure ID_WWN is set when multipath is called.
multipath -u needs ID_WWN für NVMe devices to determine the WWID. ID_WWN is currently set after multipath.rules is processed. Patches are under way to fix that (systemd/systemd#7594). Until then, insert a fallback rule here to make sure ID_WWN is set when multipath is called.
|
Rebased, and modified the patch set as follows: Instead of instantly removing the calls to The last patch removes the new rules file again, together with Furthermore, I merged together the commits affecting the same device classes. I think review is easier this way, as you can see better how code is moved. The udev rules from this patch set have been tested with various SCSI devices including disks, tapes, and medium changers, both using the |
multipath -u needs ID_WWN für NVMe devices to determine the WWID. ID_WWN is currently set after multipath.rules is processed. Patches are under way to fix that (systemd/systemd#7594). Until then, insert a fallback rule here to make sure ID_WWN is set when multipath is called.
multipath -u needs ID_WWN für NVMe devices to determine the WWID. ID_WWN is currently set after multipath.rules is processed. Patches are under way to fix that (systemd/systemd#7594). Until then, insert a fallback rule here to make sure ID_WWN is set when multipath is called.
multipath -u needs ID_WWN für NVMe devices to determine the WWID. ID_WWN is currently set after multipath.rules is processed. Patches are under way to fix that (systemd/systemd#7594). Until then, insert a fallback rule here to make sure ID_WWN is set when multipath is called.
multipath -u needs ID_WWN für NVMe devices to determine the WWID. ID_WWN is currently set after multipath.rules is processed. Patches are under way to fix that (systemd/systemd#7594). Until then, insert a fallback rule here to make sure ID_WWN is set when multipath is called.
multipath -u needs ID_WWN für NVMe devices to determine the WWID. ID_WWN is currently set after multipath.rules is processed. Patches are under way to fix that (systemd/systemd#7594). Until then, insert a fallback rule here to make sure ID_WWN is set when multipath is called.
Summary:
Copy missing helper binaries from fedora to {,imaging_}ramdisk.
Note: this will need to be tweaked after systemd/systemd#7594 lands, maybe it's better to copy whole /usr/lib/udev?
Reviewed By: pallotron
Differential Revision: D38072013
fbshipit-source-id: a2c3b6ff6f2a9b4011ab544b1d08e445f42d5f25
|
So, 5+ years, issue still appears on Supermicro X10DDW-iN + Intel® C612 chipset. |
What issue are you referring to concretely? |
|
see #7157 (comment) |
|
@mwilck missed by me! thanks. will reply to origin |
|
@mwilck Any chance to see this merged in the near future? I see this issue over and over in Ubuntu where sg3_utils is present and that breaks 60-persistent-storage rules, preventing |
After discussion with @fbuihuu and @hreinecke, I attempted a rewrite of the udev rules for persistent storage, with the following goals:
(this implies changes in 55-sg3-utils.rules as well)
symlink creation
lines, thus less conditions individual rules, thus more GOTOs
separating blocks of code where certain conditins are known to
hold.
This pull request needs to go together with the corresponding request for sg3_utils: hreinecke/sg3_utils#22