diff --git a/s390-tools-zdev-fix-warning-about-failed-ATTR-writes-by-udev.patch b/s390-tools-zdev-fix-warning-about-failed-ATTR-writes-by-udev.patch deleted file mode 100644 index 0618e61..0000000 --- a/s390-tools-zdev-fix-warning-about-failed-ATTR-writes-by-udev.patch +++ /dev/null @@ -1,77 +0,0 @@ -From d7b3196286f78445ab7843ba000faf326a8673fd Mon Sep 17 00:00:00 2001 -From: Vineeth Vijayan -Date: Thu, 13 Jun 2024 15:32:35 +0200 -Subject: [PATCH] zdev: fix warning about failed ATTR writes by udev -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -The qeth-udev-rule execution logs a warning as below in the journalfs. - -Failed to write ATTR{/sys/bus/ccwgroup/drivers/qeth/group}, \ -ignoring: Invalid argument - -This occurs because the udev rule for qeth devices is triggered by -multiple ccw devices and can be invoked in parallel. This can lead to a -situation where each of the three parallel-running udev rules tries to -group the devices simultaneously. As a result, only the first rule -succeeds, while the others fail with an -EINVAL error because the CCW -devices have already been grouped. - -To prevent this, schedule a new change uevent for the base device, which -will verify the sysfs before attempting the grouping. The change event is -triggered by all three devices, ensuring that the actual write to the -attribute occurs only once and only when the sysfs attribute is ready. - -Hence the add events on different devices are serialized to change event -on the base device, which then prevent duplicate concurrent grouping -attempts. - -Suggested-by: Peter Oberparleiter -Signed-off-by: Vineeth Vijayan -Reviewed-by: Peter Oberparleiter -Signed-off-by: Jan Höppner ---- - zdev/src/udev_ccwgroup.c | 19 ++++++++++++++++--- - 1 file changed, 16 insertions(+), 3 deletions(-) - -diff --git a/zdev/src/udev_ccwgroup.c b/zdev/src/udev_ccwgroup.c -index c2f4bee44..465bd5b22 100644 ---- a/zdev/src/udev_ccwgroup.c -+++ b/zdev/src/udev_ccwgroup.c -@@ -251,11 +251,12 @@ exit_code_t udev_ccwgroup_write_device(struct device *dev, bool autoconf) - fprintf(fd, "# Generated by chzdev\n"); - - /* Triggers. */ -- fprintf(fd, "ACTION==\"add\", SUBSYSTEM==\"drivers\", " -+ fprintf(fd, "ACTION!=\"add|change\", GOTO=\"%s\"\n", end_label); -+ fprintf(fd, "SUBSYSTEM==\"drivers\", " - "KERNEL==\"%s\", GOTO=\"%s\"\n", drv, group_label); - for (i = 0; i < devid.num; i++) { - chan_id = ccw_devid_to_str(&devid.devid[i]); -- fprintf(fd, "ACTION==\"add\", SUBSYSTEM==\"ccw\", " -+ fprintf(fd, "SUBSYSTEM==\"ccw\", " - "KERNEL==\"%s\", DRIVER==\"%s\", " - "GOTO=\"%s\"\n", chan_id, drv, group_label); - free(chan_id); -@@ -275,7 +276,19 @@ exit_code_t udev_ccwgroup_write_device(struct device *dev, bool autoconf) - end_label); - free(chan_id); - } -- fprintf(fd, "ATTR{[drivers/ccwgroup:%s]group}=\"", drv); -+ -+ /* Parallel execution of the ccwgroup devices udev rule can lead to -+ * udevadm warnings. To prevent this, serialize the execution. -+ */ -+ fprintf(fd, "\n# Note: Serialize add events on different devices to" -+ " change event on single\n# base device to prevent duplicate" -+ " concurrent grouping attempts\n"); -+ -+ /* The new change uevent should be generated to the base-device only */ -+ chan_id = ccw_devid_to_str(&devid.devid[0]); -+ fprintf(fd, "ACTION==\"add\", ATTR{[ccw/%s]uevent}=\"change\"\n", chan_id); -+ fprintf(fd, "ACTION==\"change\", ATTR{[drivers/ccwgroup:%s]group}=\"", drv); -+ free(chan_id); - for (i = 0; i < devid.num; i++) { - chan_id = ccw_devid_to_str(&devid.devid[i]); - fprintf(fd, "%s%s", i > 0 ? "," : "", chan_id); diff --git a/s390-tools.changes b/s390-tools.changes index 3e46d2c..5c6fc0e 100644 --- a/s390-tools.changes +++ b/s390-tools.changes @@ -1,10 +1,3 @@ -------------------------------------------------------------------- -Tue Sep 10 13:43:32 UTC 2024 - Nikolay Gueorguiev - -- Applied a patch to fix 'zdev warning about failed ATTR writes by udev' - (bsc#1224211) - * s390-tools-zdev-fix-warning-about-failed-ATTR-writes-by-udev.patch - ------------------------------------------------------------------- Mon Aug 26 09:17:17 UTC 2024 - Nikolay Gueorguiev diff --git a/s390-tools.spec b/s390-tools.spec index 2382881..c38bb48 100644 --- a/s390-tools.spec +++ b/s390-tools.spec @@ -155,7 +155,6 @@ Patch912: s390-tools-ALP-zdev-live.patch Patch913: s390-tools-sles15sp6-kdump-initrd-59-zfcp-compat-rules.patch Patch914: s390-tools-slfo-01-parse-ipl-device-for-activation.patch Patch915: s390-tools-2.34-Fix-Rust-compilation-errors.patch -Patch916: s390-tools-zdev-fix-warning-about-failed-ATTR-writes-by-udev.patch ### BuildRequires: curl-devel