[systemd-commits] 2 commits - man/systemd.device.xml src/device.c TODO

Lennart Poettering lennart at kemper.freedesktop.org
Wed Feb 9 06:02:13 PST 2011


 TODO                   |   13 +++----------
 man/systemd.device.xml |   19 +++++++++++++++++++
 src/device.c           |    6 ++++--
 3 files changed, 26 insertions(+), 12 deletions(-)

New commits:
commit 70e911eaebd6c9c3988cb86c768bc5c72c2832ec
Author: Lennart Poettering <lennart at poettering.net>
Date:   Wed Feb 9 15:02:03 2011 +0100

    man: document SYSTEMD_READY=

diff --git a/man/systemd.device.xml b/man/systemd.device.xml
index ea1416f..2393571 100644
--- a/man/systemd.device.xml
+++ b/man/systemd.device.xml
@@ -123,6 +123,25 @@
                         </varlistentry>
 
                         <varlistentry>
+                                <term><varname>SYSTEMD_READY=</varname></term>
+                                <listitem><para>If set to 0 systemd
+                                will consider this device unplugged
+                                even if it shows up in the udev
+                                tree. If this property is unset or set
+                                to 1 the device will be considered
+                                plugged the moment it shows up in the
+                                udev tree. This property has no
+                                influence on the behaviour when a
+                                device disappears from the udev
+                                tree. This option is useful to support
+                                devices that initially show up in an
+                                unitialized state in the tree, and for
+                                which a changed event is generated the
+                                moment they are fully set
+                                up.</para></listitem>
+                        </varlistentry>
+
+                        <varlistentry>
                                 <term><varname>ID_MODEL_FROM_DATABASE=</varname></term>
                                 <term><varname>ID_MODEL=</varname></term>
 

commit 2958c8861471ba899ecbb5fcc1951d74746a9163
Author: Lennart Poettering <lennart at poettering.net>
Date:   Wed Feb 9 14:48:52 2011 +0100

    device: consider udev devices with SYSTEMD_READY=0 as unplugged

diff --git a/TODO b/TODO
index 4e9d4e1..1720313 100644
--- a/TODO
+++ b/TODO
@@ -1,8 +1,5 @@
 Bugs:
 
-* somehow some /etc/fstab supplied mount params are never applied to api fs
-  https://bugzilla.redhat.com/show_bug.cgi?id=663108
-
 * isolate multi-user.target doesn't start a getty at tty1 if we run it from graphical.target
 
 * when plymouth is disabled the console password entry stuff seems to be borked
@@ -10,24 +7,20 @@ Bugs:
 
 * fsck.btrfs non-existance should not cause mounting to fail
 
-* need a way to apply mount options of api vfs from systemd unit files instead of fstab
-
 Features:
 
-* make it possible to enable status msgs via RT sigs
+* need a way to apply mount options of api vfs from systemd unit files instead of fstab
 
 * udisks should not use udisks-part-id, instead use blkid. also not probe /dev/loopxxx
 
-* snd-seq muss weg
+* snd-seq should go, https://bugzilla.redhat.com/show_bug.cgi?id=676095
 
-* mount.tmpfs soll weg und grep weg
+* mount.tmpfs should be optimized, https://bugzilla.redhat.com/show_bug.cgi?id=676100
 
 * mdmon is irre
 
 * gnome-shell python script/glxinfo/is-accelerated wech
 
-* plymouth muss sauber exiten, wenn's schon läuft
-
 * pull in by udev change event instead of only start event
 
 * PID heuristik bei Type=forking ausmachbar machen
diff --git a/src/device.c b/src/device.c
index 5289da3..b9d8a2b 100644
--- a/src/device.c
+++ b/src/device.c
@@ -526,7 +526,7 @@ fail:
 void device_fd_event(Manager *m, int events) {
         struct udev_device *dev;
         int r;
-        const char *action;
+        const char *action, *ready;
 
         assert(m);
 
@@ -552,7 +552,9 @@ void device_fd_event(Manager *m, int events) {
                 goto fail;
         }
 
-        if (streq(action, "remove")) {
+        ready = udev_device_get_property_value(dev, "SYSTEMD_READY");
+
+        if (streq(action, "remove") || (ready && parse_boolean(ready) == 0)) {
                 if ((r = device_process_removed_device(m, dev)) < 0) {
                         log_error("Failed to process udev device event: %s", strerror(-r));
                         goto fail;



More information about the systemd-commits mailing list