From: Greg KH <gregkh@suse.de>
To: linux-kernel@vger.kernel.org
Cc: kay.sievers@suse.de
Subject: [PATCH] add uevent_helper control in /sys/kernel/
Date: Wed, 4 Jan 2006 16:49:29 -0800 [thread overview]
Message-ID: <1136422169486@kroah.com> (raw)
In-Reply-To: <11364221691605@kroah.com>
[PATCH] add uevent_helper control in /sys/kernel/
This deprecates the /proc/sys/kernel/hotplug file, as all
this stuff should be in /sys some day, right? :)
In /sys/kernel/ we have now uevent_seqnum and uevent_helper.
The seqnum is no longer used by udev, as the version for this
kernel depends on netlink which events will never get
out-of-order.
Recent udev versions disable the /sbin/hotplug helper with
an init script, cause it leads to OOM on big boxes by running
hundreds of shells in parallel. It should be done now by:
echo "" > /sys/kernel/uevent_helper
(Note that "-n" does not work, cause neighter proc nor sysfs
support truncate().)
Signed-off-by: Kay Sievers <kay.sievers@suse.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
---
commit 0f76e5acf9dc788e664056dda1e461f0bec93948
tree fdb7db438cb03fb3e0508d582a7cc1321c62efed
parent 0296b2281352e4794e174b393c37f131502e09f0
author Kay Sievers <kay.sievers@suse.de> Fri, 11 Nov 2005 04:58:04 +0100
committer Greg Kroah-Hartman <gregkh@suse.de> Wed, 04 Jan 2006 16:18:07 -0800
kernel/ksysfs.c | 25 ++++++++++++++++++++++---
1 files changed, 22 insertions(+), 3 deletions(-)
diff --git a/kernel/ksysfs.c b/kernel/ksysfs.c
index 015fb69..e975a76 100644
--- a/kernel/ksysfs.c
+++ b/kernel/ksysfs.c
@@ -23,11 +23,29 @@ static struct subsys_attribute _name##_a
__ATTR(_name, 0644, _name##_show, _name##_store)
#ifdef CONFIG_HOTPLUG
-static ssize_t hotplug_seqnum_show(struct subsystem *subsys, char *page)
+/* current uevent sequence number */
+static ssize_t uevent_seqnum_show(struct subsystem *subsys, char *page)
{
return sprintf(page, "%llu\n", (unsigned long long)hotplug_seqnum);
}
-KERNEL_ATTR_RO(hotplug_seqnum);
+KERNEL_ATTR_RO(uevent_seqnum);
+
+/* uevent helper program, used during early boo */
+static ssize_t uevent_helper_show(struct subsystem *subsys, char *page)
+{
+ return sprintf(page, "%s\n", hotplug_path);
+}
+static ssize_t uevent_helper_store(struct subsystem *subsys, const char *page, size_t count)
+{
+ if (count+1 > HOTPLUG_PATH_LEN)
+ return -ENOENT;
+ memcpy(hotplug_path, page, count);
+ hotplug_path[count] = '\0';
+ if (count && hotplug_path[count-1] == '\n')
+ hotplug_path[count-1] = '\0';
+ return count;
+}
+KERNEL_ATTR_RW(uevent_helper);
#endif
#ifdef CONFIG_KEXEC
@@ -45,7 +63,8 @@ EXPORT_SYMBOL_GPL(kernel_subsys);
static struct attribute * kernel_attrs[] = {
#ifdef CONFIG_HOTPLUG
- &hotplug_seqnum_attr.attr,
+ &uevent_seqnum_attr.attr,
+ &uevent_helper_attr.attr,
#endif
#ifdef CONFIG_KEXEC
&crash_notes_attr.attr,
next prev parent reply other threads:[~2006-01-05 0:57 UTC|newest]
Thread overview: 33+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-01-05 0:48 [GIT PATCH] Driver Core patches for 2.6.15 Greg KH
2006-01-05 0:49 ` [PATCH] remove CONFIG_KOBJECT_UEVENT option Greg KH
2006-01-05 0:49 ` [PATCH] remove mount/umount uevents from superblock handling Greg KH
2006-01-05 0:49 ` [PATCH] keep pnpbios usermod_helper away from hotplug_path[] Greg KH
2006-01-05 0:49 ` Greg KH [this message]
2006-01-05 0:49 ` [PATCH] merge kobject_uevent and kobject_hotplug Greg KH
2006-01-05 0:49 ` [PATCH] driver core: replace "hotplug" by "uevent" Greg KH
2006-01-05 0:49 ` [PATCH] driver kill hotplug word from sn and others fix Greg KH
2006-01-05 0:49 ` [PATCH] HOTPLUG: always enable the .config option, unless EMBEDDED Greg KH
2006-01-05 0:49 ` [PATCH] Hold the device's parent's lock during probe and remove Greg KH
2006-01-05 0:49 ` [PATCH] Allow overlapping resources for platform devices Greg KH
2006-01-05 0:49 ` [PATCH] klist: Fix broken kref counting in find functions Greg KH
2006-01-05 0:49 ` [PATCH] kobject_uevent CONFIG_NET=n fix Greg KH
2006-01-05 0:49 ` [PATCH] Input: add modalias support Greg KH
2006-01-05 0:49 ` [PATCH] ide: MODALIAS support for autoloading of ide-cd, ide-disk, Greg KH
2006-01-05 0:49 ` [PATCH] Driver core: Make block devices create the proper symlink name Greg KH
2006-01-05 0:49 ` [PATCH] Driver core: only all userspace bind/unbind if CONFIG_HOTPLUG is enabled Greg KH
2006-01-05 0:49 ` [PATCH] Driver Core: Add platform_device_del() Greg KH
2006-01-05 0:49 ` [PATCH] Driver Core: Rearrange exports in platform.c Greg KH
2006-01-05 0:49 ` [PATCH] Input: fix add modalias support build error Greg KH
2006-01-05 0:49 ` [PATCH] sysfs: handle failures in sysfs_make_dirent Greg KH
2006-01-05 0:49 ` [PATCH] drivers/base/power/runtime.c: #if 0 dpm_set_power_state() Greg KH
2006-01-05 0:49 ` [PATCH] net: swich device attribute creation to default attrs Greg KH
2006-01-05 1:38 ` [GIT PATCH] Driver Core patches for 2.6.15 Linus Torvalds
2006-01-05 2:07 ` Greg KH
2006-01-05 2:40 ` Linus Torvalds
2006-01-05 3:31 ` Greg KH
2006-01-05 3:36 ` Linus Torvalds
2006-01-05 3:44 ` devfs going away, last chance to complain (was Re: [GIT PATCH] Driver Core patches for 2.6.15) Greg KH
2006-01-05 7:44 ` Steven Noonan
2006-01-05 9:17 ` Andrew Walrond
2006-01-05 9:18 ` Kyle Moffett
2006-01-05 14:04 ` [GIT PATCH] Driver Core patches for 2.6.15 John Stoffel
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1136422169486@kroah.com \
--to=gregkh@suse.de \
--cc=greg@kroah.com \
--cc=kay.sievers@suse.de \
--cc=linux-kernel@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.