Kay Sievers [Thu, 27 Aug 2009 01:56:32 +0000 (03:56 +0200)]
doc: udevadm test *does* create nodes and links these days
Marco d'Itri [Thu, 27 Aug 2009 01:55:44 +0000 (03:55 +0200)]
doc: writing_udev_rules updated for the new command names
Martin Pitt [Wed, 26 Aug 2009 20:39:32 +0000 (22:39 +0200)]
Revert "extras/keymap: Fix case matching for Micro-Star"
This reverts commit
66bf63c05cdc4e9b09818aa5fab0b9d319a1c91c.
Further debugging in https://launchpad.net/bugs/178860 showed that for some
weird reason the correct key codes already come out of the "Video Bus" input
device, and the previous commit would cause them to appear a second time
through the standard keyboard device.
This is a kernel bug in the end, but let's not break working things
prematurely.
Martin Pitt [Wed, 26 Aug 2009 17:09:06 +0000 (19:09 +0200)]
extras/keymap: Fix case matching for Micro-Star
Some Micro-Star boards apparently have mixed case vendor, instead of all-caps.
Update the glob to catch all such cases.
https://launchpad.net/bugs/178860
Kay Sievers [Tue, 25 Aug 2009 19:06:35 +0000 (21:06 +0200)]
assign errno for getgrnam_r()/getpwnam_r()
On Mon, Aug 24, 2009 at 19:50, Lennart Poettering<lennart@poettering.net> wrote:
> One little comment here: on POSIX getrnam_r() doesn't touch
> errno. Instead it returns the error value as return value.
Martin Pitt [Mon, 24 Aug 2009 15:59:42 +0000 (17:59 +0200)]
extras/keymap: Fix hold key on Acer Aspire 6920
The Hold key locks the panel and is hardwired. It doesn't have a sensible
keycode to map to, and shouldn't be overloaded either.
Martin Pitt [Mon, 24 Aug 2009 10:02:07 +0000 (12:02 +0200)]
extras/modem-modeswitch: eject ZTE MF6xx fake CD-ROMs
modem-modeswitch does not fully work on ZTE MF6xx modems, their fake CD-ROMs
need to be properly ejected in order for the actual modem to appear. Add udev
rule for this device (19d2:2000 in CD-ROM mode).
https://launchpad.net/bugs/281335
Martin Pitt [Mon, 24 Aug 2009 06:36:30 +0000 (08:36 +0200)]
extras/keymap: Add Acer Aspire 6920
https://launchpad.net/bugs/407940
Mario Limonciello [Thu, 20 Aug 2009 17:43:51 +0000 (19:43 +0200)]
hid2hci: remove superfluous bmAttributes match
For the retrigger of the device on remove we were trying to match bmAttributes
of self powered which is unnecessary.
Kay Sievers [Wed, 19 Aug 2009 18:49:49 +0000 (20:49 +0200)]
change database file names
With very deeply nested devices, We can not use a single file
name to carry an entire DEVPATH. Use <subsystem>:<sysname> as
the database filename, which should also simplify the handling
of devices moving around, as these values will not change but
still be unique.
For the name stack we use the <maj>:<min> now as the filename.
> On Tue, Aug 18, 2009 at 09:59:56AM -0400, Ric Wheeler wrote:
> The first is that udev grumbles during boot about "file name too long"
> like the following:
>
> Aug 17 06:49:58 megadeth udevd-event[20447]: unable to create db file
> '/dev/.udev/db/\x2fdevices\x2fpci0000:00\x2f0000:00:04.0\x2f0000:17:00.0\x2f0000:18:0a.0\x2f0000:1f:00.0\x2fhost11\x2fport-11:0\x2fexpander-11:0\x2fport-11:0:0\x2fexpander-11:1\x2fport-11:1:0\x2fexpander-11:2\x2fport-11:2:17\x2fexpander-11:3\x2fport-11:3:1\x2fend_device-11:3:1\x2fbsg\x2fend_device-11:3:1':
> File name too long
Kay Sievers [Wed, 19 Aug 2009 05:34:07 +0000 (07:34 +0200)]
warn about non-readable or empty rules file
Kay Sievers [Wed, 19 Aug 2009 05:31:39 +0000 (07:31 +0200)]
print warning for NAME="%k" - it breaks the kernel supplied DEVNAME
Daniel Mierswa [Mon, 17 Aug 2009 21:13:19 +0000 (23:13 +0200)]
don't compare a non-existing function with NULL
Obviously someone forgot something here or didn't use -ansi. Either way,
index is nowhere declared so I assume the current behaviour is to check
against the index() function coming from somewhere in the POSIX headers.
The comparison doesn't make sense then.
Signed-off-by: Daniel Mierswa <impulze@impulze.org>
Kay Sievers [Sun, 16 Aug 2009 19:14:59 +0000 (21:14 +0200)]
update NEWS
Kay Sievers [Sun, 16 Aug 2009 19:14:39 +0000 (21:14 +0200)]
make: add comment
Kay Sievers [Sun, 16 Aug 2009 19:12:04 +0000 (21:12 +0200)]
rule_generator: net - fix MATCHDEVID
This got lost for some reason with an earlier change.
Thanks to Marco d'Itri <md@linux.it> for noticing.
Kay Sievers [Sun, 16 Aug 2009 19:07:39 +0000 (21:07 +0200)]
rules: rfkill has no group, so use 0644
Thanks to Marco d'Itri<md@linux.it> for noticing.
Kay Sievers [Fri, 14 Aug 2009 18:13:20 +0000 (20:13 +0200)]
udev-acl: allow to skip ACL handling
Kay Sievers [Fri, 14 Aug 2009 18:08:47 +0000 (20:08 +0200)]
configure.ac: version bump
Kay Sievers [Fri, 14 Aug 2009 17:27:00 +0000 (19:27 +0200)]
make: sort Makefile.am per target/extra
Kay Sievers [Fri, 14 Aug 2009 12:18:58 +0000 (14:18 +0200)]
release 146
Kay Sievers [Fri, 14 Aug 2009 12:17:50 +0000 (14:17 +0200)]
make: fix issues from non-recursive conversion
Kay Sievers [Sat, 8 Aug 2009 20:59:41 +0000 (22:59 +0200)]
udevd: block for 15 seconds after error when too old kernel is detected
The compat code will go away some day and CONFIG_SYSFS_DEPRECATED
kernels fail in too many setups now to be worth to support them.
Diego Elio 'Flameeyes' Pettenò [Sat, 8 Aug 2009 20:51:18 +0000 (22:51 +0200)]
Use LT_INIT to explicit that udev needs libtool series 2.
Diego Elio 'Flameeyes' Pettenò [Sat, 8 Aug 2009 20:12:42 +0000 (22:12 +0200)]
Fix “make distcheck” run outside of the source directory.
Pass the path to keys.txt as second parameter of check-keymaps.sh so that
it can be found in the right path.
Alan Jenkins [Sat, 8 Aug 2009 13:29:38 +0000 (14:29 +0100)]
fix spelling
Fix spelling in docbook comments, code comments, and a local variable
name. Thanks to "ispell -h" for docbook HTML and "scspell" for source
code.
Signed-off-by: Alan Jenkins <alan-jenkins@tuffmail.co.uk>
Diego Elio 'Flameeyes' Pettenò [Fri, 7 Aug 2009 19:54:35 +0000 (21:54 +0200)]
Fix building of documentation when doing out-of-source builds.
Since gtk-mkhtml is executed in a sub-directory of the build directory, and
make does not know of that, the $(buildir) variable will still be "." and
the $(srcdir) will not properly be found. For this reason, use the absolute
variants for the two functions, which won't be changing.
Diego Elio 'Flameeyes' Pettenò [Fri, 7 Aug 2009 18:05:55 +0000 (20:05 +0200)]
Use the keymap check during “make distcheck” rather than “check”.
Since the check-keymaps.sh script checks for validity the source directory
and the Makefile.am file, instead of running it during user-oriented “make
check”, run it during developed-oriented “make distcheck”.
An invalid keymap will abort the execution which will prevent shipping
an incomplete Makefile.am.
To properly support out-of-source builds, pass as single parameter to the
test the path to the source directory.
Diego Elio 'Flameeyes' Pettenò [Fri, 7 Aug 2009 17:44:30 +0000 (19:44 +0200)]
Merge in Makefile.am.inc into Makefile.am
This removes another file from the distribution, since we're not using it
anywhere else but the top-level Makefile.am file.
Diego Elio 'Flameeyes' Pettenò [Fri, 7 Aug 2009 17:41:17 +0000 (19:41 +0200)]
Ask gperf to use ANSI-C for generation.
This avoids an '80s C prototype which caused a warning during our build.
Diego Elio 'Flameeyes' Pettenò [Fri, 7 Aug 2009 09:22:49 +0000 (11:22 +0200)]
Add tests to the distribution; this fixes "make distcheck".
Diego Elio 'Flameeyes' Pettenò [Fri, 7 Aug 2009 09:21:34 +0000 (11:21 +0200)]
Include the correct directory for out-of-source builds.
When building in-source, the source and header files are in the same
directory, but they are not in out-of-source.
Diego Elio 'Flameeyes' Pettenò [Fri, 7 Aug 2009 09:12:48 +0000 (11:12 +0200)]
Fix another relative path for the new working directory.
Diego Elio 'Flameeyes' Pettenò [Fri, 7 Aug 2009 09:04:58 +0000 (11:04 +0200)]
Fix building of introspection library on top-level Makefile.am.
Since the library is in a subdirectory, it has to know where to look for
it.
Diego Elio 'Flameeyes' Pettenò [Fri, 7 Aug 2009 01:22:21 +0000 (03:22 +0200)]
Add silent-rule support for the gudev rules.
Diego Elio 'Flameeyes' Pettenò [Fri, 7 Aug 2009 01:21:00 +0000 (03:21 +0200)]
Make sure to use dependency/target variables.
Diego Elio 'Flameeyes' Pettenò [Fri, 7 Aug 2009 01:18:44 +0000 (03:18 +0200)]
Make sure to clean up all the built sources.
Diego Elio 'Flameeyes' Pettenò [Fri, 7 Aug 2009 01:16:32 +0000 (03:16 +0200)]
Finally, also merge gudev into the top-level Makefile.am.
The Introspection rules are not tested yet; more touch-ups have been made
for them.
Diego Elio 'Flameeyes' Pettenò [Fri, 7 Aug 2009 01:07:51 +0000 (03:07 +0200)]
Move pkg-config docs and man pages before conditionals.
Since gudev conditionally installs further pkg-config data, we have to set
it before the condition might be expanded.
Diego Elio 'Flameeyes' Pettenò [Fri, 7 Aug 2009 01:00:23 +0000 (03:00 +0200)]
Make keymap generation rules be silent (backward-compatible).
Diego Elio 'Flameeyes' Pettenò [Fri, 7 Aug 2009 00:58:23 +0000 (02:58 +0200)]
Merge keymap building in the top-level Makefile.am.
Slight adjustment around the tests and the rules for the new working
directory.
Diego Elio 'Flameeyes' Pettenò [Fri, 7 Aug 2009 00:52:49 +0000 (02:52 +0200)]
Change hook handling to be more portable.
Diego Elio 'Flameeyes' Pettenò [Fri, 7 Aug 2009 00:38:02 +0000 (02:38 +0200)]
Also merge into the top-level Makefile.am the simpler extras.
Diego Elio 'Flameeyes' Pettenò [Fri, 7 Aug 2009 00:23:01 +0000 (02:23 +0200)]
Replace the custom test-run target with the standard make check.
A little fix is needed for the udev-test.pl script (to be called with the
proper path), but this allows for the test binaries to be only built when
running the tests themselves.
Diego Elio 'Flameeyes' Pettenò [Fri, 7 Aug 2009 00:01:29 +0000 (02:01 +0200)]
Merge libudev, udev, and the unconditional extras in a single Makefile.am.
Instead of using multiple recursive Makefile.am files, use a single
Makefile.am that sets and builds all the basic suite of libraries and
binaries for udev. This reduces the number of files in the source tree, and
also reduces drastically the build time when using parallel-make.
With this setup, all the compile steps will be executed in parallel, and
just the linking stage will be (partially) serialised on the libraries
creation.
Martin Pitt [Fri, 7 Aug 2009 14:41:54 +0000 (15:41 +0100)]
extras/keymap: Fix Bluetooth key on Acer Aspire 6920
See https://launchpad.net/bugs/407940
Alan Jenkins [Fri, 7 Aug 2009 12:29:49 +0000 (13:29 +0100)]
man: SYMLINK can be matched as well as assigned
If by-path / by-id links don't quite do what you want, this is a nice
clean way to extend the behaviour. Real example:
SYMLINK=="serial/by-id/usb-Novatel_Wireless_Inc*CDMA*-if00-port0", \\
SYMLINK+="cellcard"
Some users ask how to do things like this.
- create an additional link with a shorter name
- create a link which matches more loosely
(omit certain path segments e.g. serial numbers)
- change permissions on certain USB device nodes
Allow them to realize this without reading the friendly *.c files.
Signed-off-by: Alan Jenkins <alan-jenkins@tuffmail.co.uk>
Alan Jenkins [Fri, 7 Aug 2009 12:28:27 +0000 (13:28 +0100)]
man: fix unused, inaccurate metadata
Dates aren't shown in the manpages. So they are not really useful,
and no-one is going to remember to update them.
"<refmiscinfo class="version"></refmiscinfo>" sounds even less useful.
I leave the unused "title" and "productname" tags. They could
theoretically be useful, and aren't hard to maintain. We just need to
fix the "title" for udevadm.
Signed-off-by: Alan Jenkins <alan-jenkins@tuffmail.co.uk>
Martin Pitt [Fri, 7 Aug 2009 10:11:48 +0000 (11:11 +0100)]
extras/keymap: Add Samsung NC20
Reported by Dirk Thierbach <dthierbach@gmx.de> on hal ML.
Mario Limonciello [Fri, 7 Aug 2009 00:23:44 +0000 (02:23 +0200)]
hid2hci: install re-trigger for hid device when recovering from S3
Kay Sievers [Thu, 6 Aug 2009 17:23:06 +0000 (19:23 +0200)]
"record_failed" -> "fail_event_on_error"
Kay Sievers [Thu, 6 Aug 2009 14:16:26 +0000 (16:16 +0200)]
re-enable failed event tracking
It did not work for the last couple of releases.
If RUN{record_failed}+="..." is given, a non-zero execution will mark
the event as failed. Recorded failed events can be re-triggered with:
udevadm trigger --type=failed
The failed tracking _might_ be useful for things which might not be
ready to be executed at early bootup, but a bit later when the needed
dependencies are available. In many cases though, it indicates that
something is used in a way it should not.
Kay Sievers [Thu, 6 Aug 2009 13:51:47 +0000 (15:51 +0200)]
make: suppress enter/leaving directory messages
Kay Sievers [Thu, 6 Aug 2009 13:37:55 +0000 (15:37 +0200)]
libudev: silent gcc warning: may be used uninitialized in this function
Anssi Hannula [Mon, 27 Jul 2009 20:59:44 +0000 (23:59 +0300)]
udev-acl: add joystick devices
User needs read-write access to joystick devices in order to use force
feedback features.
Anssi Hannula [Mon, 27 Jul 2009 20:56:55 +0000 (23:56 +0300)]
rules: exclude digitizers from joystick class
Exclude digitizers and similar devices from ID_CLASS joystick by
checking modalias for BTN_DIGI.
This was also done for linux kernel joydev interface in linux commit
d07a9cba6be5c0e947afc1014b5a62182a86f1f1.
Kay Sievers [Sat, 1 Aug 2009 13:39:18 +0000 (09:39 -0400)]
update a few years of copyright
Eric W. Biederman [Sat, 1 Aug 2009 05:26:10 +0000 (22:26 -0700)]
fix util_lookup_group to handle large groups
I have recently been getting the above message on fc11 and
I have traced it down to a bug in util_lookup_group.
As of 145 util_lookup_group reads:
gid_t util_lookup_group(struct udev *udev, const char *group)
{
char *endptr;
int buflen = sysconf(_SC_GETGR_R_SIZE_MAX);
char buf[buflen];
struct group grbuf;
struct group *gr;
gid_t gid = 0;
if (strcmp(group, "root") == 0)
return 0;
gid = strtoul(group, &endptr, 10);
if (endptr[0] == '\0')
return gid;
errno = 0;
getgrnam_r(group, &grbuf, buf, buflen, &gr);
if (gr != NULL)
return gr->gr_gid;
if (errno == 0 || errno == ENOENT || errno == ESRCH)
err(udev, "specified group '%s' unknown\n", group);
else
err(udev, "error resolving group '%s': %m\n", group);
return 0;
}
The errno value from getgrnam_r here is ERANGE which is documented as
"Insufficient buffer space supplied".
When I call get getgrnam_r with a large enough buffer everything
works. Indicating that the problem is that sysconf is returning
a value too small.
A quick google search tells me that sysconf(_S_GETGR_R_SIZE_MAX)
is documented as:
> sysconf(_S_GETGR_R_SIZE_MAX) returns either -1 or a good
> suggested starting value for buflen. It does not return the
> worst case possible for buflen.
In my case I have a group with about 50 users in /etc/group
and that is what triggered the problem in udev and caused
all of the udevs group lookups to fail.
The following patch which dynamically allocates the group member buffer
should fix this problem.
Signed-off-by: "Eric W. Biederman" <ebiederm@xmission.com>
Lennart Poettering [Mon, 27 Jul 2009 21:24:27 +0000 (23:24 +0200)]
enumeration: move ALSA control devices to the end of the enumerated devices of each card
Generally ALSA control devices should be the last ones to be processed
for ACL changes and similar operations because they can then be used as
indicators that ACL management finished for all device nodes of a
specific card.
This patch simple moves each controlC device behind all the pcmC devices
(and similar).
Kay Sievers [Sat, 25 Jul 2009 18:37:45 +0000 (20:37 +0200)]
make: build internal tools against libudev-private.la
Kay Sievers [Fri, 24 Jul 2009 16:06:22 +0000 (18:06 +0200)]
hid2hci: rewrite (and break) rules and device handling
We must never access random devices in /dev which do not belong to
the event we are handling. Hard-coding /dev/hidrawX, and looping over all
devices is absolutely not acceptable --> hook into hidraw events.
We can not relay on (rather random) properties merged into the parent
device by earlier rules --> use libudev to find the sibling device
with a matching interface.
Libusb does not fit into udev's use case. We never want want to scan
and open() all usb devices in the system, just to find the device
we are already handling the event for --> put all the stupid scanning
into a single function and prepare for a fixed libusb or drop it later.
Kay Sievers [Thu, 23 Jul 2009 18:28:16 +0000 (20:28 +0200)]
format names are not case insensitive
Kay Sievers [Thu, 23 Jul 2009 18:27:13 +0000 (20:27 +0200)]
path_id: fix typo in comment
Kay Sievers [Thu, 23 Jul 2009 18:26:45 +0000 (20:26 +0200)]
rules: serial - fix path_id call
Martin Pitt [Thu, 23 Jul 2009 17:00:38 +0000 (19:00 +0200)]
extras/keymap: Fix crash for unknown keys
The keymap table has some holes in it, which caused the interactive mode to
crash for unknown keys. In these cases, print the numeric key code instead.
Erik Forsberg [Thu, 23 Jul 2009 14:40:25 +0000 (16:40 +0200)]
extras/modem-modeswitch: Add Huawei E1550 GSM modem
What's odd is that this is a huawei modem, not an option modem, so one would
expect it to work better with usb_modeswitch and it's -H (huawei) mode - but
that's not the case, I've tested that as well.
https://launchpad.net/bugs/401655
Kay Sievers [Wed, 22 Jul 2009 22:02:28 +0000 (00:02 +0200)]
udevadm: trigger - add --sysname-match=
$ udevadm trigger -n -v --subsystem-match=usb --sysname-match=2-1.1*
/sys/devices/pci0000:00/0000:00:1d.7/usb2/2-1/2-1.1
/sys/devices/pci0000:00/0000:00:1d.7/usb2/2-1/2-1.1/2-1.1.1
/sys/devices/pci0000:00/0000:00:1d.7/usb2/2-1/2-1.1/2-1.1.1/2-1.1.1:1.0
/sys/devices/pci0000:00/0000:00:1d.7/usb2/2-1/2-1.1/2-1.1.2
/sys/devices/pci0000:00/0000:00:1d.7/usb2/2-1/2-1.1/2-1.1.2/2-1.1.2:1.0
/sys/devices/pci0000:00/0000:00:1d.7/usb2/2-1/2-1.1/2-1.1.2/2-1.1.2:1.1
/sys/devices/pci0000:00/0000:00:1d.7/usb2/2-1/2-1.1/2-1.1:1.0
Kay Sievers [Wed, 22 Jul 2009 17:09:48 +0000 (19:09 +0200)]
path_id: make global variable static
Kay Sievers [Tue, 21 Jul 2009 23:03:33 +0000 (01:03 +0200)]
hid2hci: remove hid structures and include kernel header
Mario Limonciello [Tue, 21 Jul 2009 22:33:27 +0000 (00:33 +0200)]
hid2hci: support to hid2hci for recovering Dell BT devices after S3
Kay Sievers [Mon, 20 Jul 2009 23:40:47 +0000 (01:40 +0200)]
configure.ac: version bump
Kay Sievers [Mon, 20 Jul 2009 23:36:42 +0000 (01:36 +0200)]
v4l_id: exit with 0 when --help is given
Martin Pitt [Mon, 20 Jul 2009 15:59:11 +0000 (17:59 +0200)]
extras/keymap: Add Samsung SX22S
Reported on hal ML by Sergey Astanin <s.astanin@gmail.com>.
Martin Pitt [Sat, 18 Jul 2009 14:59:46 +0000 (16:59 +0200)]
extras/keymap: teach findkeyboards about USB keyboards
Martin Pitt [Sat, 18 Jul 2009 13:30:08 +0000 (15:30 +0200)]
extras/keymap: Add Fujitsu Amilo M
https://launchpad.net/bugs/48547
Martin Pitt [Sat, 18 Jul 2009 13:23:55 +0000 (15:23 +0200)]
extras/keymap: cover more Compaq Evo models
https://launchpad.net/bugs/35382 shows that may Evo N* models share the same
keymap, so generalize the existing rule.
Martin Pitt [Sat, 18 Jul 2009 13:17:20 +0000 (15:17 +0200)]
extras/keymap: Add HP Presario 2100
https://launchpad.net/bugs/20223
Martin Pitt [Sat, 18 Jul 2009 13:09:05 +0000 (15:09 +0200)]
extras/keymap: add recently added keymap files to Makefile.am
Martin Pitt [Sat, 18 Jul 2009 13:07:55 +0000 (15:07 +0200)]
extras/keymap: fix check-keymaps.sh for inline mappings
Do not complain about missing keymap files when giving scancode/keyname pairs
on the keymap command line in the rules.
Martin Pitt [Sat, 18 Jul 2009 13:02:25 +0000 (15:02 +0200)]
keymap: inline one-line key maps
Remove key map files which have only one override. Instead, use keymap tools'
new feature of specifying scancode/keyname pairs directly at the command line.
Also add a comment to 95-keymap.rules about how to specify key mappings in the
rules.
Martin Pitt [Sat, 18 Jul 2009 12:52:45 +0000 (14:52 +0200)]
keymap tool: support scancode/keycode pair arguments
This avoids having to create and parse an entire keymap file for cases where
just one or two keys have to be remapped.
Martin Pitt [Sat, 18 Jul 2009 12:27:50 +0000 (14:27 +0200)]
keymap tool: improve help
Do not duplicate help strings, and add missing calling variant for
interactivity.
Martin Pitt [Sat, 18 Jul 2009 12:13:28 +0000 (14:13 +0200)]
extras/keymap: add Compal Hel80i
https://launchpad.net/bugs/198530
Martin Pitt [Sat, 18 Jul 2009 07:27:38 +0000 (09:27 +0200)]
extras/keymap: add Everex Stepnote XT5000T
Reported in https://launchpad.net/bugs/400921
Kay Sievers [Fri, 17 Jul 2009 11:24:37 +0000 (13:24 +0200)]
udevd: add timestamp to --debug output
Martin Pitt [Thu, 16 Jul 2009 15:34:01 +0000 (17:34 +0200)]
extras/keymap: add Zepto ZNote
Reported on https://launchpad.net/bugs/400252
Martin Pitt [Thu, 16 Jul 2009 09:23:16 +0000 (11:23 +0200)]
add keymap for Clevo D410J laptop
Reported as hal-info patch by Németh Márton <nm127@freemail.hu> on hal ML.
Kay Sievers [Mon, 13 Jul 2009 10:19:01 +0000 (12:19 +0200)]
release 145
Kay Sievers [Mon, 13 Jul 2009 01:33:15 +0000 (03:33 +0200)]
udevd: use bool
Kay Sievers [Mon, 13 Jul 2009 01:09:05 +0000 (03:09 +0200)]
udevd: handle SIGCHLD before the worker event message
We may need to handle SIGCHLD before the queued worker message. The last
reference, from the SIGCHLD or the worker message will clean up the worker
context. In case we receive an unexpected SIGCHLD with an error, we let
the event fail and clean up the worker context.
Kay Sievers [Sat, 11 Jul 2009 16:21:26 +0000 (18:21 +0200)]
udevd: make sure a worker finishes event handling before exiting
Persistent network rules write out new rules files. When rules change,
we need to kill all workers to update the in-memory copy of the rules.
We need to make sure, that a worker finshes its work for all device
messages it has accepted, before it exits after a SIGTERM from the main
process.
Kay Sievers [Wed, 8 Jul 2009 15:05:55 +0000 (17:05 +0200)]
udevadm: info - add space after R:, A:, W: on database export
<zzam> kay: udevadmin info -e prints all lines with a space after the :, but the W: line
<kay> zzam: yeah, seems so, and the R: and the A:
<zzam> yeah
Kay Sievers [Wed, 8 Jul 2009 12:13:20 +0000 (14:13 +0200)]
udevd: detach event from worker if we kill a worker
Jul 8 09:36:41 udevd[663]: worker [5491] did not accept message, kill it
Jul 8 09:36:41 udevd[663]: worker [5491] unexpectedly returned with 0
Jul 8 09:36:41 udevd[663]: worker [5551] unexpectedly returned with 0
Jul 8 09:36:41 kernel: [ 156.832086] <6>udevd[663]: segfault at 4 ip
00959fbc sp
bfbe7b78 error 6 in udevd[94f000+1c000]
https://bugs.launchpad.net/ubuntu/+source/udev/+bug/396957
Kay Sievers [Wed, 8 Jul 2009 00:04:49 +0000 (02:04 +0200)]
libudev: enumerate - sort with qsort()
On machines with many thousands of devices:
$ time find /sys -name uevent | wc -l
74876
real 0m33.171s
user 0m3.329s
sys 0m29.719s
the current udevtrigger spends minutes sorting the device list:
$ time /sbin/udevadm trigger --dry-run
real 4m56.739s
user 4m45.743s
sys 0m7.862s
with qsort() it looks better:
$ time udev/udevadm trigger --dry-run
real 0m6.495s
user 0m0.473s
sys 0m5.923s
Kay Sievers [Wed, 8 Jul 2009 00:02:40 +0000 (02:02 +0200)]
libudev: device - free values before updating them
Kay Sievers [Wed, 8 Jul 2009 00:02:02 +0000 (02:02 +0200)]
configure.ac: version bump
Kay Sievers [Tue, 7 Jul 2009 17:30:19 +0000 (19:30 +0200)]
use MIN() MAX() from param.h
Kay Sievers [Tue, 7 Jul 2009 07:48:23 +0000 (09:48 +0200)]
README: add CONFIG_BLK_DEV_BSG
Ian Campbell [Mon, 6 Jul 2009 13:54:52 +0000 (14:54 +0100)]
scsi_id: correct error handling in prepend_vendor_model
The callers of prepend_vendor_model both expect < 0 to be returned on
error and the index to be returned otherwise. However
prepend_vendor_model actually returns 1 on error. Fix this by correctly
returning -1.
Older kernels (before
e5b3cd42: "SCSI: sanitize INQUIRY strings")
truncated the model field in sysfs (or propagated bad results from the
target) to less than the expected/required 16 characters which meant
that the SCSI id was mangled into:
# /sbin/scsi_id -g -s /block/sdg
S146cee20VIRTUAL-DISK
when it should have been:
# /sbin/scsi_id -g -s /block/sdg
SIET VIRTUAL-DISK
146cee20
Notice how the serial number has been pasted over the vendor+model at
index 1 instead of being added at the end.
In the former case:
# cat /sys/devices/platform/host5/session1/target5:0:0/5:0:0:1/model | od -t c -t x1
0000000 V I R T U A L - D I S K \n
56 49 52 54 55 41 4c 2d 44 49 53 4b 0a
But it should have been:
# cat /sys/devices/platform/host5/session1/target5:0:0/5:0:0:1/model | od -t c -t x1
0000000 V I R T U A L - D I S K
56 49 52 54 55 41 4c 2d 44 49 53 4b 20 20 20 20
0000020 \n
0a
Signed-off-by: Ian Campbell <ijc@hellion.org.uk>
Kay Sievers [Sun, 5 Jul 2009 22:52:56 +0000 (00:52 +0200)]
release 144