From ee9a767142ec66b1ca93af9401dc8f723ae59881 Mon Sep 17 00:00:00 2001 From: Jan Macku Date: Wed, 12 Jun 2024 14:23:30 +0200 Subject: [PATCH] rules: copy 40-redhat.rules from RHEL 9 Also split rules into 40-redhat-hotplug.rules, 40-redhat-s390.rules and 40-redhat.rules. rhel-only: feature Resolves: RHEL-40360 --- rules.d/40-redhat-hotplug.rules | 23 +++++++++++++++++++++++ rules.d/40-redhat-s390.rules | 24 ++++++++++++++++++++++++ rules.d/40-redhat.rules | 8 ++++++++ rules.d/meson.build | 5 ++++- 4 files changed, 59 insertions(+), 1 deletion(-) create mode 100644 rules.d/40-redhat-hotplug.rules create mode 100644 rules.d/40-redhat-s390.rules create mode 100644 rules.d/40-redhat.rules diff --git a/rules.d/40-redhat-hotplug.rules b/rules.d/40-redhat-hotplug.rules new file mode 100644 index 0000000000..5555eeac75 --- /dev/null +++ b/rules.d/40-redhat-hotplug.rules @@ -0,0 +1,23 @@ +# do not edit this file, it will be overwritten on update + +# CPU hotadd request +SUBSYSTEM!="cpu", GOTO="cpu_online_end" +ACTION!="add", GOTO="cpu_online_end" +CONST{arch}=="ppc64*", GOTO="cpu_online_end" +CONST{arch}=="s390*", ATTR{configure}=="0", GOTO="cpu_online_end" + +TEST=="online", ATTR{online}=="0", ATTR{online}="1" + +LABEL="cpu_online_end" + +# Memory hotadd request +SUBSYSTEM!="memory", GOTO="memory_hotplug_end" +ACTION!="add", GOTO="memory_hotplug_end" +CONST{arch}=="s390*", GOTO="memory_hotplug_end" +CONST{arch}=="ppc64*", GOTO="memory_hotplug_end" + +ENV{.state}="online" +CONST{virt}=="none", ENV{.state}="online_movable" +ATTR{state}=="offline", ATTR{state}="$env{.state}" + +LABEL="memory_hotplug_end" diff --git a/rules.d/40-redhat-s390.rules b/rules.d/40-redhat-s390.rules new file mode 100644 index 0000000000..64698b90e8 --- /dev/null +++ b/rules.d/40-redhat-s390.rules @@ -0,0 +1,24 @@ +# do not edit this file, it will be overwritten on update + +# Rule for prandom character device node permissions +KERNEL=="prandom", MODE="0644" + +# Rules for creating the ID_PATH for SCSI devices based on the CCW bus +# using the form: ccw--zfcp-: +# +ACTION=="remove", GOTO="zfcp_scsi_device_end" + +# +# Set environment variable "ID_ZFCP_BUS" to "1" if the devices +# (both disk and partition) are SCSI devices based on FCP devices +# +KERNEL=="sd*", SUBSYSTEMS=="ccw", DRIVERS=="zfcp", ENV{.ID_ZFCP_BUS}="1" + +# For SCSI disks +KERNEL=="sd*[!0-9]", SUBSYSTEMS=="scsi", ENV{.ID_ZFCP_BUS}=="1", ENV{DEVTYPE}=="disk", SYMLINK+="disk/by-path/ccw-$attr{hba_id}-zfcp-$attr{wwpn}:$attr{fcp_lun}" + + +# For partitions on a SCSI disk +KERNEL=="sd*[0-9]", SUBSYSTEMS=="scsi", ENV{.ID_ZFCP_BUS}=="1", ENV{DEVTYPE}=="partition", SYMLINK+="disk/by-path/ccw-$attr{hba_id}-zfcp-$attr{wwpn}:$attr{fcp_lun}-part%n" + +LABEL="zfcp_scsi_device_end" diff --git a/rules.d/40-redhat.rules b/rules.d/40-redhat.rules new file mode 100644 index 0000000000..975d56fdfd --- /dev/null +++ b/rules.d/40-redhat.rules @@ -0,0 +1,8 @@ +# do not edit this file, it will be overwritten on update + +# reload sysctl.conf / sysctl.conf.d settings when the bridge module is loaded +ACTION=="add", SUBSYSTEM=="module", KERNEL=="bridge", RUN+="/usr/lib/systemd/systemd-sysctl --prefix=/proc/sys/net/bridge" + +# load SCSI generic (sg) driver +SUBSYSTEM=="scsi", ENV{DEVTYPE}=="scsi_device", TEST!="[module/sg]", RUN+="/sbin/modprobe -bv sg" +SUBSYSTEM=="scsi", ENV{DEVTYPE}=="scsi_target", TEST!="[module/sg]", RUN+="/sbin/modprobe -bv sg" diff --git a/rules.d/meson.build b/rules.d/meson.build index 3040fae8a4..edf419f449 100644 --- a/rules.d/meson.build +++ b/rules.d/meson.build @@ -5,7 +5,10 @@ install_data( install_dir : udevrulesdir) rules = [ - [files('60-autosuspend.rules', + [files('40-redhat-hotplug.rules', + '40-redhat-s390.rules', + '40-redhat.rules', + '60-autosuspend.rules', '60-block.rules', '60-cdrom_id.rules', '60-dmi-id.rules',