diff --git a/NEWS b/NEWS index 52bfa6a991..972b9b0b11 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 13a10240d7..7d82d2132e 100644 --- a/udev/udevd.c +++ b/udev/udevd.c @@ -688,16 +688,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 010411c781..0df6f4ba59 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.