chiark / gitweb /
device: consider udev devices with SYSTEMD_READY=0 as unplugged
authorLennart Poettering <lennart@poettering.net>
Wed, 9 Feb 2011 13:48:52 +0000 (14:48 +0100)
committerLennart Poettering <lennart@poettering.net>
Wed, 9 Feb 2011 13:48:52 +0000 (14:48 +0100)
TODO
src/device.c

diff --git a/TODO b/TODO
index 4e9d4e1..1720313 100644 (file)
--- 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@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
index 5289da3..b9d8a2b 100644 (file)
@@ -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;