From 9032f119f07ad3b5116b3d4858816d851d4127de Mon Sep 17 00:00:00 2001 From: Scott James Remnant Date: Tue, 20 Jan 2009 21:36:09 +0000 Subject: [PATCH] Expose delayed name resolution udevd had the ability to delay name resolution until the event, but this was never exposed. Add a --resolve-names=late option to do so. --- NEWS | 3 ++- udev/udevd.c | 8 +++++--- udev/udevd.xml | 5 +++-- 3 files changed, 10 insertions(+), 6 deletions(-) diff --git a/NEWS b/NEWS index 52bfa6a99..972b9b0b1 100644 --- a/NEWS +++ b/NEWS @@ -6,7 +6,8 @@ The udevadm test command has no longer a --force option, nodes and symlinks are always updated with a test run now. The udevd daemon can be started with --resolve-names=never to avoid all user -and group lookups (e.g. in cut-down systems). +and group lookups (e.g. in cut-down systems) or --resolve-names=late to +lookup user and groups every time events are handled. udev 136 ======== diff --git a/udev/udevd.c b/udev/udevd.c index 9a8d79180..4d6f465f9 100644 --- a/udev/udevd.c +++ b/udev/udevd.c @@ -683,16 +683,18 @@ int main(int argc, char *argv[]) case 'N': if (strcmp (optarg, "early") == 0) { resolve_names = 1; + } else if (strcmp (optarg, "late") == 0) { + resolve_names = 0; } else if (strcmp (optarg, "never") == 0) { resolve_names = -1; } else { - fprintf(stderr, "resolve-names must be early or never\n"); - err(udev, "resolve-names must be early or never\n"); + fprintf(stderr, "resolve-names must be early, late or never\n"); + err(udev, "resolve-names must be early, late or never\n"); goto exit; } break; case 'h': - printf("Usage: udevd [--help] [--daemon] [--debug-trace] [--debug] [--resolve-names=early|never] [--version]\n"); + printf("Usage: udevd [--help] [--daemon] [--debug-trace] [--debug] [--resolve-names=early|late|never] [--version]\n"); goto exit; case 'V': printf("%s\n", VERSION); diff --git a/udev/udevd.xml b/udev/udevd.xml index 010411c78..0df6f4ba5 100644 --- a/udev/udevd.xml +++ b/udev/udevd.xml @@ -29,7 +29,7 @@ - + @@ -70,7 +70,8 @@ Specify when udevd should resolve names of users and groups. When set to (the default) names will be - resolved when the rules are parsed. + resolved when the rules are parsed. When set to + names will be resolved for every event. When set to names will never be resolved and all devices will be owned by root. -- 2.30.2