Module Name: src Committed By: joerg Date: Sun Apr 25 00:54:46 UTC 2010
Modified Files: src/distrib/sets/lists/base: ad.mips64eb ad.mips64el md.amd64 md.sparc64 shl.mi src/distrib/sets/lists/comp: mi src/distrib/sets/lists/man: mi src/include: Makefile netdb.h src/lib/libc: Makefile shlib_version src/lib/libc/include: namespace.h src/lib/libc/net: getservbyname_r.c getservbyport_r.c getservent_r.c servent.h src/usr.sbin/services_mkdb: Makefile services_mkdb.8 services_mkdb.c uniq.c Added Files: src/include: cdbr.h cdbw.h src/lib/libc/cdb: Makefile.inc cdb.5 cdbr.3 cdbr.c cdbw.3 cdbw.c src/usr.sbin/services_mkdb: extern.h output_cdb.c output_db.c Log Message: Add the constant database reader (cdbr(3)) and writer ((cdbw(3)). They implement a space efficent write-once database with fast access path. Switch the services(5) database to use cdb. The size of the database file decreases from 2.1MB disk space to 307KB. Access performance is about the same if setservent(0) is used and about an order of magnitude faster otherwise. services_mkdb defaults to the new format, but can optionally create the old db(3) format as well for statically linked legacy applications. To generate a diff of this commit: cvs rdiff -u -r1.12 -r1.13 src/distrib/sets/lists/base/ad.mips64eb \ src/distrib/sets/lists/base/ad.mips64el cvs rdiff -u -r1.86 -r1.87 src/distrib/sets/lists/base/md.amd64 cvs rdiff -u -r1.80 -r1.81 src/distrib/sets/lists/base/md.sparc64 cvs rdiff -u -r1.534 -r1.535 src/distrib/sets/lists/base/shl.mi cvs rdiff -u -r1.1435 -r1.1436 src/distrib/sets/lists/comp/mi cvs rdiff -u -r1.1204 -r1.1205 src/distrib/sets/lists/man/mi cvs rdiff -u -r1.131 -r1.132 src/include/Makefile cvs rdiff -u -r0 -r1.1 src/include/cdbr.h src/include/cdbw.h cvs rdiff -u -r1.62 -r1.63 src/include/netdb.h cvs rdiff -u -r1.140 -r1.141 src/lib/libc/Makefile cvs rdiff -u -r1.216 -r1.217 src/lib/libc/shlib_version cvs rdiff -u -r0 -r1.1 src/lib/libc/cdb/Makefile.inc src/lib/libc/cdb/cdb.5 \ src/lib/libc/cdb/cdbr.3 src/lib/libc/cdb/cdbr.c src/lib/libc/cdb/cdbw.3 \ src/lib/libc/cdb/cdbw.c cvs rdiff -u -r1.141 -r1.142 src/lib/libc/include/namespace.h cvs rdiff -u -r1.6 -r1.7 src/lib/libc/net/getservbyname_r.c \ src/lib/libc/net/getservbyport_r.c cvs rdiff -u -r1.9 -r1.10 src/lib/libc/net/getservent_r.c cvs rdiff -u -r1.3 -r1.4 src/lib/libc/net/servent.h cvs rdiff -u -r1.6 -r1.7 src/usr.sbin/services_mkdb/Makefile cvs rdiff -u -r0 -r1.1 src/usr.sbin/services_mkdb/extern.h \ src/usr.sbin/services_mkdb/output_cdb.c \ src/usr.sbin/services_mkdb/output_db.c cvs rdiff -u -r1.9 -r1.10 src/usr.sbin/services_mkdb/services_mkdb.8 cvs rdiff -u -r1.14 -r1.15 src/usr.sbin/services_mkdb/services_mkdb.c cvs rdiff -u -r1.4 -r1.5 src/usr.sbin/services_mkdb/uniq.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.