diff options
-rw-r--r-- | extras/cdrom_id/60-cdrom_id.rules | 2 | ||||
-rw-r--r-- | extras/edd_id/61-persistent-storage-edd.rules | 2 | ||||
-rw-r--r-- | extras/fstab_import/79-fstab_import.rules | 2 | ||||
-rw-r--r-- | extras/hid2hci/70-hid2hci.rules | 2 | ||||
-rw-r--r-- | extras/keymap/95-keyboard-force-release.rules | 2 | ||||
-rw-r--r-- | extras/keymap/95-keymap.rules | 2 | ||||
-rw-r--r-- | extras/udev-acl/70-acl.rules | 2 | ||||
-rw-r--r-- | extras/udev-acl/udev-acl.c | 6 | ||||
-rw-r--r-- | extras/v4l_id/60-persistent-v4l.rules | 2 | ||||
-rw-r--r-- | rules/rules.d/60-persistent-alsa.rules | 2 | ||||
-rw-r--r-- | rules/rules.d/60-persistent-input.rules | 2 | ||||
-rw-r--r-- | rules/rules.d/60-persistent-serial.rules | 2 | ||||
-rw-r--r-- | rules/rules.d/60-persistent-storage-tape.rules | 2 | ||||
-rw-r--r-- | rules/rules.d/60-persistent-storage.rules | 2 | ||||
-rw-r--r-- | rules/rules.d/75-net-description.rules | 2 | ||||
-rw-r--r-- | rules/rules.d/75-tty-description.rules | 2 | ||||
-rw-r--r-- | rules/suse/64-device-mapper.rules | 2 | ||||
-rw-r--r-- | udev/udev-rules.c | 5 | ||||
-rw-r--r-- | udev/udevd.c | 2 |
19 files changed, 21 insertions, 24 deletions
diff --git a/extras/cdrom_id/60-cdrom_id.rules b/extras/cdrom_id/60-cdrom_id.rules index 811c4aa530..16b3af9e92 100644 --- a/extras/cdrom_id/60-cdrom_id.rules +++ b/extras/cdrom_id/60-cdrom_id.rules @@ -1,6 +1,6 @@ # do not edit this file, it will be overwritten on update -ACTION!="add|change", GOTO="cdrom_end" +ACTION=="remove", GOTO="cdrom_end" SUBSYSTEM!="block", GOTO="cdrom_end" KERNEL!="sr[0-9]*|xvd*", GOTO="cdrom_end" ENV{DEVTYPE}!="disk", GOTO="cdrom_end" diff --git a/extras/edd_id/61-persistent-storage-edd.rules b/extras/edd_id/61-persistent-storage-edd.rules index 54ae0865e4..1ab1be347e 100644 --- a/extras/edd_id/61-persistent-storage-edd.rules +++ b/extras/edd_id/61-persistent-storage-edd.rules @@ -1,6 +1,6 @@ # do not edit this file, it will be overwritten on update -ACTION!="add|change", GOTO="persistent_storage_edd_end" +ACTION=="remove", GOTO="persistent_storage_edd_end" SUBSYSTEM!="block", GOTO="persistent_storage_edd_end" KERNEL!="sd*|hd*|cciss*", GOTO="persistent_storage_edd_end" diff --git a/extras/fstab_import/79-fstab_import.rules b/extras/fstab_import/79-fstab_import.rules index 2adfe04c73..2ded7d3d9f 100644 --- a/extras/fstab_import/79-fstab_import.rules +++ b/extras/fstab_import/79-fstab_import.rules @@ -1,2 +1,2 @@ -ACTION=="add|change", SUBSYSTEM=="block", ENV{ID_FS_USAGE}=="filesystem|other", IMPORT="fstab_import $name $links mapper/$env{DM_NAME}" +ACTION!="remove", SUBSYSTEM=="block", ENV{ID_FS_USAGE}=="filesystem|other", IMPORT="fstab_import $name $links mapper/$env{DM_NAME}" diff --git a/extras/hid2hci/70-hid2hci.rules b/extras/hid2hci/70-hid2hci.rules index 01ff30d417..0687c8aa78 100644 --- a/extras/hid2hci/70-hid2hci.rules +++ b/extras/hid2hci/70-hid2hci.rules @@ -1,6 +1,6 @@ # do not edit this file, it will be overwritten on update -ACTION!="add|change", GOTO="hid2hci_end" +ACTION=="remove", GOTO="hid2hci_end" SUBSYSTEM!="usb", GOTO="hid2hci_end" # Variety of Dell Bluetooth devices - match on a mouse device that is diff --git a/extras/keymap/95-keyboard-force-release.rules b/extras/keymap/95-keyboard-force-release.rules index f0e1ab82e7..b973614c85 100644 --- a/extras/keymap/95-keyboard-force-release.rules +++ b/extras/keymap/95-keyboard-force-release.rules @@ -11,7 +11,7 @@ # /lib/udev/keymap -i /dev/input/eventX # on a Linux vt to find out. -ACTION!="add|change", GOTO="force_release_end" +ACTION=="remove", GOTO="force_release_end" SUBSYSTEM!="serio", GOTO="force_release_end" KERNEL!="serio*", GOTO="force_release_end" DRIVER!="atkbd", GOTO="force_release_end" diff --git a/extras/keymap/95-keymap.rules b/extras/keymap/95-keymap.rules index dd58453a15..2f41cb4742 100644 --- a/extras/keymap/95-keymap.rules +++ b/extras/keymap/95-keymap.rules @@ -5,7 +5,7 @@ # a file name (in /lib/udev/keymaps), which has to contain scancode/keyname # pairs. -ACTION!="add|change", GOTO="keyboard_end" +ACTION=="remove", GOTO="keyboard_end" SUBSYSTEM!="input", GOTO="keyboard_end" KERNEL!="event*", GOTO="keyboard_end" diff --git a/extras/udev-acl/70-acl.rules b/extras/udev-acl/70-acl.rules index fde265693c..5b00bf82c7 100644 --- a/extras/udev-acl/70-acl.rules +++ b/extras/udev-acl/70-acl.rules @@ -4,7 +4,7 @@ # udev-acl of this udev release and may be replaced at any time. ENV{MAJOR}=="", GOTO="acl_end" -ACTION!="add|change", GOTO="acl_apply" +ACTION=="remove", GOTO="acl_apply" # PTP/MTP protocol devices, cameras, portable media players SUBSYSTEM=="usb", ENV{ID_USB_INTERFACES}=="", ENV{DEVTYPE}=="usb_device", IMPORT{program}="usb_id --export %p" diff --git a/extras/udev-acl/udev-acl.c b/extras/udev-acl/udev-acl.c index c070fccd17..ce515902e0 100644 --- a/extras/udev-acl/udev-acl.c +++ b/extras/udev-acl/udev-acl.c @@ -353,12 +353,10 @@ int main (int argc, char* argv[]) switch (option) { case 'a': - if (strcmp(optarg, "add") == 0 || strcmp(optarg, "change") == 0) - action = ACTION_ADD; - else if (strcmp(optarg, "remove") == 0) + if (strcmp(optarg, "remove") == 0) action = ACTION_REMOVE; else - goto out; + action = ACTION_ADD; break; case 'D': device = optarg; diff --git a/extras/v4l_id/60-persistent-v4l.rules b/extras/v4l_id/60-persistent-v4l.rules index a342a71949..b6e1313a31 100644 --- a/extras/v4l_id/60-persistent-v4l.rules +++ b/extras/v4l_id/60-persistent-v4l.rules @@ -1,6 +1,6 @@ # do not edit this file, it will be overwritten on update -ACTION!="add|change", GOTO="persistent_v4l_end" +ACTION=="remove", GOTO="persistent_v4l_end" SUBSYSTEM!="video4linux", GOTO="persistent_v4l_end" ENV{MAJOR}=="", GOTO="persistent_v4l_end" diff --git a/rules/rules.d/60-persistent-alsa.rules b/rules/rules.d/60-persistent-alsa.rules index a5206fdbb1..39a365221e 100644 --- a/rules/rules.d/60-persistent-alsa.rules +++ b/rules/rules.d/60-persistent-alsa.rules @@ -1,6 +1,6 @@ # do not edit this file, it will be overwritten on update -ACTION!="add|change", GOTO="persistent_alsa_end" +ACTION=="remove", GOTO="persistent_alsa_end" SUBSYSTEM!="sound", GOTO="persistent_alsa_end" KERNEL!="controlC[0-9]*", GOTO="persistent_alsa_end" diff --git a/rules/rules.d/60-persistent-input.rules b/rules/rules.d/60-persistent-input.rules index 1ea4431d29..634c4dbeaf 100644 --- a/rules/rules.d/60-persistent-input.rules +++ b/rules/rules.d/60-persistent-input.rules @@ -1,6 +1,6 @@ # do not edit this file, it will be overwritten on update -ACTION!="add|change", GOTO="persistent_input_end" +ACTION=="remove", GOTO="persistent_input_end" SUBSYSTEM!="input", GOTO="persistent_input_end" KERNEL=="input[0-9]*", GOTO="persistent_input_end" diff --git a/rules/rules.d/60-persistent-serial.rules b/rules/rules.d/60-persistent-serial.rules index 351b3856fd..3e1a56550a 100644 --- a/rules/rules.d/60-persistent-serial.rules +++ b/rules/rules.d/60-persistent-serial.rules @@ -1,6 +1,6 @@ # do not edit this file, it will be overwritten on update -ACTION!="add|change", GOTO="persistent_serial_end" +ACTION=="remove", GOTO="persistent_serial_end" SUBSYSTEM!="tty", GOTO="persistent_serial_end" KERNEL!="ttyUSB[0-9]*|ttyACM[0-9]*", GOTO="persistent_serial_end" diff --git a/rules/rules.d/60-persistent-storage-tape.rules b/rules/rules.d/60-persistent-storage-tape.rules index 968528d845..833ef94daa 100644 --- a/rules/rules.d/60-persistent-storage-tape.rules +++ b/rules/rules.d/60-persistent-storage-tape.rules @@ -2,7 +2,7 @@ # persistent storage links: /dev/tape/{by-id,by-path} -ACTION!="add|change", GOTO="persistent_storage_tape_end" +ACTION=="remove", GOTO="persistent_storage_tape_end" # type 8 devices are "Medium Changers" SUBSYSTEM=="scsi_generic", SUBSYSTEMS=="scsi", ATTRS{type}=="8", IMPORT{program}="scsi_id --sg-version=3 --export --whitelisted -d $tempnode", SYMLINK+="tape/by-id/scsi-$env{ID_SERIAL}" diff --git a/rules/rules.d/60-persistent-storage.rules b/rules/rules.d/60-persistent-storage.rules index 89041a950b..d9f8003cde 100644 --- a/rules/rules.d/60-persistent-storage.rules +++ b/rules/rules.d/60-persistent-storage.rules @@ -6,7 +6,7 @@ # forward scsi device event to corresponding block device ACTION=="change", SUBSYSTEM=="scsi", ENV{DEVTYPE}=="scsi_device", TEST=="block", ATTR{block/*/uevent}="change" -ACTION!="add|change", GOTO="persistent_storage_end" +ACTION=="remove", GOTO="persistent_storage_end" SUBSYSTEM!="block", GOTO="persistent_storage_end" # skip rules for inappropriate block devices diff --git a/rules/rules.d/75-net-description.rules b/rules/rules.d/75-net-description.rules index 1c4c401d3b..490fcced1e 100644 --- a/rules/rules.d/75-net-description.rules +++ b/rules/rules.d/75-net-description.rules @@ -1,6 +1,6 @@ # do not edit this file, it will be overwritten on update -ACTION!="add|change", GOTO="net_end" +ACTION=="remove", GOTO="net_end" SUBSYSTEM!="net", GOTO="net_end" SUBSYSTEMS=="usb", ENV{ID_MODEL}=="", IMPORT{program}="usb_id --export %p" diff --git a/rules/rules.d/75-tty-description.rules b/rules/rules.d/75-tty-description.rules index ac868adc0a..c2980cfb69 100644 --- a/rules/rules.d/75-tty-description.rules +++ b/rules/rules.d/75-tty-description.rules @@ -1,6 +1,6 @@ # do not edit this file, it will be overwritten on update -ACTION!="add|change", GOTO="tty_end" +ACTION=="remove", GOTO="tty_end" SUBSYSTEM!="tty", GOTO="tty_end" SUBSYSTEMS=="usb", ENV{ID_MODEL}=="", IMPORT{program}="usb_id --export %p" diff --git a/rules/suse/64-device-mapper.rules b/rules/suse/64-device-mapper.rules index 34e3307569..12cae35da8 100644 --- a/rules/suse/64-device-mapper.rules +++ b/rules/suse/64-device-mapper.rules @@ -1,7 +1,7 @@ # do not edit this file, it will be overwritten on update KERNEL!="dm-*", GOTO="device_mapper_end" -ACTION!="add|change", GOTO="device_mapper_end" +ACTION=="remove", GOTO="device_mapper_end" IMPORT{program}="/sbin/dmsetup export -j%M -m%m" ENV{DM_NAME}!="?*", GOTO="device_mapper_end" diff --git a/udev/udev-rules.c b/udev/udev-rules.c index c4a2724032..0361f689d5 100644 --- a/udev/udev-rules.c +++ b/udev/udev-rules.c @@ -2055,13 +2055,12 @@ int udev_rules_apply_to_event(struct udev_rules *rules, struct udev_event *event struct token *cur; struct token *rule; enum escape_type esc = ESCAPE_UNSET; - int can_set_name; + bool can_set_name; if (rules->tokens == NULL) return -1; - can_set_name = ((strcmp(udev_device_get_action(event->dev), "add") == 0 || - strcmp(udev_device_get_action(event->dev), "change") == 0) && + can_set_name = ((strcmp(udev_device_get_action(event->dev), "remove") != 0) && (major(udev_device_get_devnum(event->dev)) > 0 || strcmp(udev_device_get_subsystem(event->dev), "net") == 0)); diff --git a/udev/udevd.c b/udev/udevd.c index fe3352ceb5..c27b4cd6aa 100644 --- a/udev/udevd.c +++ b/udev/udevd.c @@ -168,7 +168,7 @@ static void event_queue_delete(struct event *event) udev_list_node_remove(&event->node); /* mark as failed, if "add" event returns non-zero */ - if (event->exitcode != 0 && strcmp(udev_device_get_action(event->dev), "add") == 0) + if (event->exitcode != 0 && strcmp(udev_device_get_action(event->dev), "remove") != 0) udev_queue_export_device_failed(udev_queue_export, event->dev); else udev_queue_export_device_finished(udev_queue_export, event->dev); |