summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2012-11-13udev: properly handle symlink removal by 'change' eventKay Sievers
If a 'change' event is supposed to remove created symlinks, we create a new device structure from the sysfs device and fill it with the list of links, to compute the delta of the old and new list of links to apply. If the device is already 'remove'd by the kernel though, udev fails to create the device structure, so the links are not removed properly. > From: Neil Brown <nfbrown@suse.com> > Date: Thu, 8 Nov 2012 10:39:06 +0100 > Subject: [PATCH] If a 'change' event does not get handled by udev until > after the device has subsequently disappeared, udev mis-handles > it. This can happen with 'md' devices which emit a change > event and then a remove event when they are stopped. It is > normally only noticed if udev is very busy (lots of arrays > being stopped at once) or the machine is otherwise loaded > and reponding slowly. > > There are two problems. > > 1/ udev_device_new_from_syspath() will refuse to create the device > structure if the device does not exist in /sys, and particularly if > the uevent file does not exist. > If a 'db' file does exist, that is sufficient evidence that the device > is genuine and should be created. Equally if we have just received an > event from the kernel about the device, it must be real. > > This patch just disabled the test for the 'uevent' file, it doesn't > try imposing any other tests - it isn't clear that they are really > needed. > > 2/ udev_event_execute_rules() calls udev_device_read_db() on a 'device' > structure that is largely uninitialised and in particular does not > have the 'subsystem' set. udev_device_read_db() needs the subsystem > so it tries to read the 'subsystem' symlink out of sysfs. If the > device is already deleted, this naturally fails. > udev_event_execute_rules() knows the subsystem (as it was in the > event message) so this patch simply sets the subsystem for the device > structure to be loaded to match the subsystem of the device structure > that is handling the event. > > With these two changes, deleted handling of change events will still > correctly remove any symlinks that are not needed any more. Use udev_device_new() instead of allowing udev_device_new_from_syspath() to proceed without a sysfs device.
2012-11-13libudev: avoid leak during realloc failureMauro Dreissig
2012-11-12remove duplicate semicolonsThomas Hindoe Paaboel Andersen
2012-11-12systemd-delta.xml: document default value for --diffThomas Hindoe Paaboel Andersen
2012-11-12util: nicer tree drawingsMichal Schmidt
Draw trees more similar to pstree/findmnt/lsblk/...
2012-11-12enable localization for common *ctl commandsDave Reisner
2012-11-12use the same email address everywhereKay Sievers
2012-11-12libudev: update copyright headersKay Sievers
2012-11-12TODO: updateKay Sievers
2012-11-12udev: use usec_t and now()Kay Sievers
2012-11-11man/sd-id128.xml: typo fixHolger Hans Peter Freyther
2012-11-11timedatectl: properly print 30 minutes DST transitionsKay Sievers
2012-11-09coredumpctl: add missing -F, --field option to helpDave Reisner
2012-11-09bash-completion: add 'gdb' verb for coredumpctlDave Reisner
This also fixes value completion for journal fields, as the completion for the RHS of the '=' was missing when it was borrowed from journalctl.
2012-11-09systemd-coredumpctl: add 'gdb' to usage outputDave Reisner
2012-11-09dbus: when verifying PK privs, bypass PK if uid=0 of clientLennart Poettering
This reduces the number of roundtrips when the client is privileged and makes the PK dep optional for root clients.
2012-11-09hwdb: change pci.ids locationTom Gundersen
According to pciutils' TODO, the sourceforge location is scheduled for removal, use the new one instead.
2012-11-09udev: hwdb - update usb class descriptionsKay Sievers
2012-11-09udev: hwdb - add usb class descriptionsKay Sievers
2012-11-09udev: hwdb - add pci class descriptionsKay Sievers
2012-11-09udev: net_id - add builtin to retrieve data for network devicesKay Sievers
2012-11-09udev: hwdb - search parents for 'modalias' and dataKay Sievers
2012-11-09udev: update file headersKay Sievers
2012-11-09hwdb: OUI - use ID_OUI_FROM_DATABASE=Kay Sievers
2012-11-09fstab-generator: more specific error messagesMichal Schmidt
2012-11-07hwdb: add IEEE OUI dataKay Sievers
2012-11-07hwdb: update pci dataKay Sievers
2012-11-07TODO: updateKay Sievers
2012-11-06man: typo fixes for new files in 195Thomas Hindoe Paaboel Andersen
2012-11-06cryptsetup: fix inverted comparison in pass_volume_keyDave Reisner
2012-11-06Revert "Implement SocketUser= and SocketGroup= for [Socket]"Dave Reisner
This was never intended to be pushed. This reverts commit aea54018a5e66a41318afb6c6be745b6aef48d9e.
2012-11-06cryptsetup: hash=plain means don't use a hashDave Reisner
"plain" is a semantic value that cryptsetup(8) uses to describe a plain dm-crypt volume that does not use a hash. Catch this value earlier and ensure that a NULL params.hash is passed to crypt_format to avoid passing an invalid hash type to the libcryptsetup backend. FDO bug #56593.
2012-11-05Implement SocketUser= and SocketGroup= for [Socket]Dave Reisner
Since we already allow defining the mode of AF_UNIX sockets and FIFO, it makes sense to also allow specific user/group ownership of the socket file for restricting access.
2012-11-05README,TODO: typo fixesThomas Hindoe Paaboel Andersen
2012-11-05systemd.socket.xml: fix typoDave Reisner
2012-11-05add zsh completion for all the commandsDaniel Wallace
Most of the completion for systemctl and loginctl provided by Foudil Brétel
2012-11-05TODO: fix typoKay Sievers
2012-11-04mount-setup: try mounting 'efivarfs' only if the system bootet with EFIKay Sievers
2012-11-04kmod-setup: mounting efivarfs, *after* we tried to mount it, is pointlessKay Sievers
The mount() system call, which we issue before loading modules, will trigger a modprobe by the kernel and block until it returns. Trying to load it again later, will have exactly the same result as the first time.
2012-11-04kmod-setup: add conditional module loading callbackKay Sievers
2012-11-04shared: add is_efiboot()Kay Sievers
2012-11-04TODO: update RTC, DST stuffKay Sievers
2012-11-04TODO: add efi checkKay Sievers
2012-11-03drop Arch Linux support for reading /etc/rc.confDave Reisner
2012-11-03drop Arch Linux support for reading /etc/rc.confDave Reisner
2012-11-03bash-completion > shell-completionKay Sievers
2012-11-03docs: gtk-doc warnings are annoyingKay Sievers
2012-11-03vconsole: remove Frugalware legacy file supportMiklos Vajna
2012-11-02util : fallback to plain ASCII drawing if locale is not UTF-8Michal Schmidt
When printing cgroup and sysfs hierarchies, avoid using UTF-8 box drawing characters if the locale is not UTF-8. https://bugzilla.redhat.com/show_bug.cgi?id=871153
2012-11-02util: add is_locale_utf8()Michal Schmidt
journalctl and vconsole-setup both implement utf8 locale detection. Let's have a common function for it. The next patch will add another use.