On Sat, Nov 7, 2009 at 01:54, Thomas Bächler <thomas@archlinux.org> wrote:
This upload brings some changes to all device-mapper based applications and should be the start of fixing some race conditions (also needs a fix to devicekit's udev rules).
Let's start with initscripts. There some outstanding issues as always, but we should rather release than wait for me to think about all of them:
Aaron Griffin (7): Replace \e with \033 for printfs network: Use real interface name for ifconfig up Always shutdown daemons, regardless of runlevel network: support early 'up' for dhcp interfaces Add hvc0 to inittab (commented by default) Empty mtab instead of deleting it Replace 'truncate file' logic in case of noclobber
Jim Pryor (1): Fix stty/tput usage for columns again
Thomas Bächler (12): Add size and noexec mount options to /dev, change "none" to "udev" Use nosuid instead of noexec on /dev Remove uevent processing benchmark, as it is useless now that we actually do work between trigger and settle Remove support for static filesystem and make code in rc.single look like the code in rc.sysinit/rc.shutdown Implement a hook-system that allows to add custom code to the initscripts at certain places Make the hook-system a bit more usable Only load rtc-cmos if rc.conf has proper clock settings Disable special handling of ACPI modules Remove code to create md* devices manually, this is done by udev these days Set STARTUP=1 environment variable on initial udev triggering, required by latest device-mapper rules Correct last commit: Unset the STARTUP=1 variable in udevadm control only after udev has settled Remove redundant call to vgscan - this also fixes a "wrong" symlink in combination with the new udev-based device mapper node creation
First I'd like to highlight the hooks-system. It can be used by splash daemons or live systems or any user to hook in special functions during the boot process. It is not really documented, there's some comments in rc.functions on using it.
For this email, the lvm and udev changes are more important: During the initial udevtrigger, the STARTUP=1 environment variable will be set in all uevents. This is used by the new device-mapper/lvm2 upstream udev rules (which replace our homegrown and outdated rule) which have to distinguish between the initial triggering and later execution of uevents.
The device-mapper rules also set some flags that will tell other rules to ignore a dm device (these flags have to be respected in devicekit to solve some race conditions). The only change in udev is that the I removed a hunk from the arch patch that un-ignored dm-* devices: Peristent names for those are now handles in the device-mapper rules, respecting the ignore flags and thus also avoiding weird races conditions.
If you found this confusing, ask, otherwise please test and sign off. (Tested and working on x86_64 with encryption and lvm2)
I hit a weird bug. When my USB 3G modem is plugged in during boot I get this error for every encrypted partition except /: Command failed: /dev/mapper/temporary-cryptsetup-1345 open filed: No such file or directory When the modem is not plugged during boot everything is okay. Ideas? -- Roman Kyrylych (Роман Кирилич)