[PATCH] nsswitch extensions + caching
bushman at rsu.ru
Tue Dec 6 11:45:09 PST 2005
I haven't seen much fuss, actually :)
Here are some points:
1. Nsswitch makes caching easy. As nsswitch-related calls are done quite
often, caching can be very useful. With nsswitch we can organize caching of
different types of data (passwd, groups, services, etc) in the quite simple
uniform manner. In other OSes caching is usually organized via nscd. The
caching daemon (it's implementation is in the patch) is the analogue of the
nscd in some way. It has different approach for caching, but can work in the
way, the nscd usually works.
2. Nsswitch implementation is not yet completed. There's a number of
databases, which can be supported, but their support is not yet implemented.
Their support in nsswitch will give us: a) uniform way to configure the data
sources to use (via nsswitch.conf) 2) the ability to cache their data
3. More concrete example is /etc/services file. The services database didn't
utilize nsswitch/nsdispatch. If it uses nsdispatch, it will be able to cache
data from the file - and we'll be able to make it as big as we want. Of
course, first "uncached" requests will take some time, but all subsequent
requests for the information, that is already in the cache will be extremely
fast - they won't event open the /etc/services file.
4. Another concrete example is OpenSSH authroization keys. If we use
nsswitch to retrieve them, we can easily use NIS or LDAP as their storage,
which is a good thing.
I hope, this will satisfy you :)
With best regards,
----- Original Message -----
From: "Julian Elischer" <julian at elischer.org>
To: "Michael Bushkov" <bushman at rsu.ru>
Cc: <freebsd-hackers at freebsd.org>; <freebsd-current at freebsd.org>
Sent: Tuesday, December 06, 2005 9:46 PM
Subject: Re: [PATCH] nsswitch extensions + caching
> Michael Bushkov wrote:
> so, I've been wonderring.. what's all the fuss about nsswitch?
> what does it get us?
> (Not saying it doesn't, just hoping someone will explain)
More information about the freebsd-current