opnsense-src/usr.bin
Tim Kientzle 231a973125 Speed up hardlink detection by using a self-sizing hash
table rather than the old linear list search.

On my "hardlink detection torture test", this reduced
user time from 4700 seconds down to 4.2 seconds
and wallclock time from 1:24:48 down to 1:08.
(Yes, that's over one THOUSAND times reduction in user time. ;-)
In the worst case, the new code doubles peak memory usage,
though it could actually reduce memory usage in many cases.

MFC after: 1 week
PR: misc/42167, bin/51151
2004-04-30 18:17:51 +00:00
..
alias Mark bits that do not require an object directory as such. 2003-04-01 12:37:54 +00:00
apply Revert previous commit, from Bruce: 2003-06-09 19:21:35 +00:00
asa mdoc(7) police: minor markup nits. 2002-05-30 13:33:59 +00:00
at Explain the format of the at.allow and at.deny files in detail. 2003-03-26 02:38:18 +00:00
atm Fixed style of DPADD and LDADD assignments as per style.Makefile(5). 2004-02-05 22:44:25 +00:00
awk Use 2003-06-06 13:46:55 +00:00
banner remove __P 2002-03-22 01:22:50 +00:00
basename ANSIify function definitions. 2002-09-04 23:29:10 +00:00
biff Bump document date for the 'beep only' change. 2002-08-16 03:08:25 +00:00
bluetooth Use uint instead of u_int 2004-04-09 23:26:16 +00:00
brandelf Remove MAINTAINER lines. 2003-06-14 19:32:52 +00:00
bzip2 /rescue/b{,un}zip exists, so build this dynamically now. 2003-11-17 05:19:37 +00:00
bzip2recover Remove MAINTAINER lines. 2003-06-14 19:32:52 +00:00
c89 Remove leaf node WARNS?=2 (that mainly I added). This should 2002-02-08 22:31:43 +00:00
c99 Update URL of GCC status page to GCC 3.3 2004-03-04 20:29:27 +00:00
calendar Add my birthday. 2004-04-18 01:05:55 +00:00
cap_mkdb ANSIify function definitions to avoid a warning. 2002-07-28 14:41:26 +00:00
catman Add (unsigned char) cast to ctype macros 2003-06-10 02:18:00 +00:00
chat Rename logf --> chat_logf to avoid naming conflicts 2003-10-31 06:22:03 +00:00
checknr Close files after opening them to avoiding leaking descriptors and memory. 2003-06-01 06:15:30 +00:00
chkey Put chkey(1), newkey(8), and keyserv(8) into the crypto distribution. 2004-01-18 09:29:47 +00:00
chpass Typo fix. 2004-03-03 09:15:07 +00:00
cksum - For variables holding offset values, use off_t rather than 2003-03-13 23:32:28 +00:00
cmp phk added the -x option in May 2000, but only for regular files; for 2003-06-19 07:24:26 +00:00
col ANSIify function definitions. 2002-09-04 23:29:10 +00:00
colcrt Fixed the abuses of .Ql visible on stderr in troff mode. 2002-12-23 16:04:51 +00:00
colldef Get rid of duplicates. 2003-09-14 13:41:59 +00:00
colrm ANSIify function definitions to avoid a warning. 2002-07-28 15:22:43 +00:00
column ANSify function definitions to avoid a warning. 2002-07-28 15:25:15 +00:00
comm ANSIify function definitions to avoid a warning. 2002-07-28 15:28:38 +00:00
compile_et
compress Don't truncate the output file before making sure that we can 2003-06-14 13:41:31 +00:00
csplit Use fseeko() to properly support large files. 2004-03-22 11:15:03 +00:00
ctags The .Xr files 2003-06-08 13:43:56 +00:00
cut Duplicate "from". 2003-05-03 15:55:23 +00:00
dig
dirname ANSIify function definitions to avoid a warning. 2002-07-28 15:50:38 +00:00
dnskeygen MAN[1-9] -> MAN. 2001-03-27 10:52:19 +00:00
dnsquery
du Speed up hardlink detection by using a self-sizing hash 2004-04-30 18:17:51 +00:00
ee o Fix identation. 2003-06-30 11:51:21 +00:00
elf2aout Back out the totally unapproved backout of my commits. 2003-03-29 03:03:42 +00:00
elfdump Elf_Phdr.p_type 7 is "PT_TLS". 2004-03-02 14:06:27 +00:00
enigma Fixed style of DPADD and LDADD assignments as per style.Makefile(5). 2004-02-05 22:44:25 +00:00
env Fix grammar bogon. 2004-02-29 12:52:21 +00:00
expand mdoc(7) police: markup polishing. 2002-11-26 10:57:57 +00:00
false Consistently use FBSDID 2002-06-30 05:25:07 +00:00
fetch Workaround for servers that ignore byte ranges when using chunked 2004-04-06 12:24:26 +00:00
file Fixed style of DPADD and LDADD assignments as per style.Makefile(5). 2004-02-05 22:44:25 +00:00
file2c Consistently use FBSDID 2002-06-30 05:25:07 +00:00
find Clarify and correct some compatibility notes. 2004-04-21 00:42:55 +00:00
finger Add multiple inclusion guards. Mostly this is for extern.h, which was 2004-03-14 06:43:34 +00:00
fmt Consistently use FBSDID 2002-06-30 05:25:07 +00:00
fold ANSIify function definitions. 2002-09-04 23:29:10 +00:00
from ANSIify function definitions. 2002-09-04 23:29:10 +00:00
fstat Correct the description of the -N option. 2004-03-26 10:48:35 +00:00
fsync Consistently use FBSDID 2002-06-30 05:25:07 +00:00
ftp Fixed style of DPADD and LDADD assignments as per style.Makefile(5). 2004-02-05 22:44:25 +00:00
gcore Fix some WARNS: 2004-02-15 22:48:25 +00:00
gencat Check NULL pointer to avoid SIGSEGV 2002-12-24 07:40:10 +00:00
getconf mdoc(7): Use the new feature of the .In macro. 2003-09-08 19:57:22 +00:00
getopt english(4) police. 2002-12-27 12:15:40 +00:00
gprof Remove MD bits for unsupported architectures. 2003-10-30 12:21:31 +00:00
head Remove duplicate __FBSDID() - spotted by trying to build with a non-GNU 2002-07-23 14:39:20 +00:00
hesinfo ANSIify function definitions. 2002-09-04 23:29:10 +00:00
hexdump Capitalize ASCII code names. 2002-12-05 08:50:00 +00:00
host
id ANSIify function definitions. 2002-09-04 23:29:10 +00:00
indent Support C-style comments in profile. 2004-03-21 04:47:54 +00:00
ipcrm Wrap long line. Use .Ar instead of .Nm where appropriate. 2003-02-05 14:15:02 +00:00
ipcs Add -u option to ipcs(1) and document it in ipcs.1 2004-03-24 04:01:43 +00:00
join mdoc(7) police: nit. 2002-11-26 11:25:04 +00:00
jot Fix jot so that 'jot -r -w %d 1 1 4' never prints 4. Previously, it 2003-08-01 16:23:24 +00:00
kdump Respect decimal flag when dumping USER type records. 2004-03-25 12:33:55 +00:00
keylogin Consistently use FBSDID 2002-06-30 05:25:07 +00:00
keylogout Removed unnecessary dependencies on librpcsvc. 2004-02-04 11:59:08 +00:00
killall Add a cross-reference to pkill(1), now that pkill is hooked up to the build. 2004-03-27 23:45:33 +00:00
ktrace Do not start err(3) strings with uppercase nor dot terminate them. 2003-02-05 14:25:43 +00:00
ktrdump Remove an unused variable. 2004-02-15 22:12:32 +00:00
lam Back out my minorly disputed and possibly not well thought out changes to how 2002-07-01 18:03:30 +00:00
last Include timeconv.h for _int_to_time and _time_to_int. 2004-02-15 21:52:59 +00:00
lastcomm Don't try to fseek before the beginning of the file; POSIX requires that 2003-01-27 18:16:32 +00:00
ldd Fix a few WARNS: 2004-02-15 22:01:23 +00:00
leave Fixed the abuses of .Ql visible on stderr in troff mode. 2002-12-23 16:04:51 +00:00
less Restore old value of LESSKEYFILE_SYS. 2004-04-17 07:48:21 +00:00
lessecho
lesskey MAN[1-9] -> MAN. 2001-03-27 10:52:19 +00:00
lex Replace <iostream.h> with <iostream> to remove annoying warning 2004-03-11 10:43:35 +00:00
limits Uniformly refer to a file system as "file system". 2002-12-12 17:26:04 +00:00
locale Back out LANG printing changes. POSIX is unclear in this place, but 2004-02-02 16:14:02 +00:00
locate The .Xr utility 2003-06-08 13:45:37 +00:00
lock Two fixes here: 2004-01-22 04:24:15 +00:00
lockf Consistently use FBSDID 2002-06-30 05:25:07 +00:00
logger Clarify the describtion of the -A switch 2003-05-21 15:00:47 +00:00
login Fixed style bugs in previous commit (.ifndef instead of .if defined(), 2004-02-29 06:39:11 +00:00
logins Fix markup. 2004-03-06 23:36:41 +00:00
logname ANSIify function definitions. 2002-09-04 23:29:10 +00:00
look Introduce options definition the standard way. 2003-06-09 19:32:02 +00:00
lorder Give the -o option before any filename operands when invoking the sort 2003-06-01 22:37:38 +00:00
lsvfs Uniformly refer to a file system as "file system". 2002-12-12 17:26:04 +00:00
m4 Use .St -susv2 rather than "The Single UNIX specification". 2003-12-10 10:52:48 +00:00
mail These aren't all binary options. 2004-03-09 01:20:24 +00:00
make Treat kevent(2) returning an error EINTR as the non-error it is. 2004-04-20 22:04:12 +00:00
makewhatis Install /usr/libexec/makewhatis.local and /usr/libexec/catman.local. 2002-11-18 10:11:22 +00:00
mesg Introduce options definition the standard way. 2003-06-09 19:32:02 +00:00
minigzip Fixed style of DPADD and LDADD assignments as per style.Makefile(5). 2004-02-05 22:44:25 +00:00
ministat Added missing DPADD. 2004-02-05 22:01:28 +00:00
mkdep english(4) police. 2002-12-27 12:15:40 +00:00
mkfifo ANSIify function definitions. 2002-09-04 23:29:10 +00:00
mklocale Fix section number in cross reference. 2004-01-23 20:29:03 +00:00
mkstr Fixed a misspelling of 0 as NULL. 2004-03-14 05:51:20 +00:00
mktemp Use proper article. 2002-07-16 05:38:26 +00:00
msgs Fixed misspellings of '\0' as NULL. 2004-03-11 10:12:05 +00:00
mt Backout previous commit. It seems this comment applied to something 2004-04-09 17:30:26 +00:00
ncal Fixed style of DPADD and LDADD assignments as per style.Makefile(5). 2004-02-05 22:44:25 +00:00
ncplist Style fixes; whitespace and header order. 2002-04-28 12:21:31 +00:00
ncplogin ANSIify function definitions. 2002-09-04 23:29:10 +00:00
netstat Add the bad reset statistic (corresponds to tcp_input.c rev 1.235) 2004-04-26 02:57:33 +00:00
newgrp Use (char *)NULL to terminated to argument list for execl(). 2003-10-30 15:14:34 +00:00
newkey Put chkey(1), newkey(8), and keyserv(8) into the crypto distribution. 2004-01-18 09:29:47 +00:00
nfsstat Replace /kernel with /boot/kernel/kernel. 2002-05-09 11:47:42 +00:00
nice english(4) police. 2002-12-27 12:15:40 +00:00
nl Tidy up usage message. 2003-08-17 10:33:54 +00:00
nohup Make GCC 3.3 happy with rcsid[], sccs[], and copyright[]. 2003-05-03 19:44:46 +00:00
objformat mdoc(7) police: markup and spelling. 2002-11-26 17:34:25 +00:00
opieinfo Add opie lib dir to includes list 2002-01-03 21:20:29 +00:00
opiekey Add opie lib dir to includes list 2002-01-03 21:20:29 +00:00
opiepasswd Add opie lib dir to includes list 2002-01-03 21:20:29 +00:00
pagesize Use `The .Nm utility' 2002-04-20 12:18:28 +00:00
passwd While I really liked the error message one received from `passwd' 2003-04-18 21:27:09 +00:00
paste Fixed the abuses of .Ql visible on stderr in troff mode. 2002-12-23 16:04:51 +00:00
pathchk Unbreak support for systems that have no limit on pathname length. 2002-12-15 00:40:47 +00:00
pkill Use KERN_PROC_PROC instead of KERN_PROC_ALL on the call to kvm_getprocs(), 2004-03-30 15:10:50 +00:00
pr Fix typos, mostly s/ an / a / where appropriate and a few s/an/and/ 2002-12-30 21:18:15 +00:00
printenv Split the env(1) manpage off from printenv(1); there is not much point 2003-06-01 06:29:47 +00:00
printf Make it possible for the %[eEfgG] formats to not result in an error 2004-03-07 22:22:13 +00:00
quota Remove redundant declarations. 2003-08-05 06:50:28 +00:00
renice The usage string: renice [priority | [-n incr]] ... assumed that the part 2003-02-26 20:27:24 +00:00
rev ANSIify function definitions. 2002-09-04 23:29:10 +00:00
rlogin Use the POSIX tty interface instead of the old interface. This makes 2003-09-28 08:54:56 +00:00
rpcgen Fix broken -a functionality. 2003-06-19 09:19:51 +00:00
rpcinfo Fixed a misspelling of '\0' as NULL. 2004-03-11 10:22:25 +00:00
rs Add section number to .Xr 2003-06-08 13:58:08 +00:00
rsh Remove duplicate #include. Do not \n terminate errx() arg. 2003-09-07 15:30:42 +00:00
rup More xdrproc_t warnings. 2003-10-26 04:57:32 +00:00
ruptime Forgot to update the date field; from David Magda <dmagda@magda.ca>. 2003-03-01 23:43:53 +00:00
rusers More xdrproc_t warnings. 2003-10-26 04:57:32 +00:00
rwall Removed unnecessary dependencies on librpcsvc. 2004-02-04 11:59:08 +00:00
rwho Modernise; ISOify, use __FBSDID(), use headers instead of hand-declaring. 2002-07-01 16:40:33 +00:00
script Attempt #2 to fix script(1) if the standard input is closed: If we 2004-02-15 17:30:13 +00:00
sed Avoid using .Nm at the start of the sentence. 2004-01-04 15:33:06 +00:00
shar mdoc(7) police: removed HISTORY info from the .Os call. 2001-07-10 14:16:33 +00:00
showmount More xdrproc_t issues. 2003-10-26 04:58:44 +00:00
smbutil Add bmake glue for src/contrib/smbfs and connect userland smbfs 2001-12-14 11:41:22 +00:00
sockstat make sockstat not print wierd addresses on not connected unix domain sockets 2003-07-19 06:23:56 +00:00
split Support larger files (at least 64-bit offsets) by using off_t instead of 2002-07-15 05:31:55 +00:00
stat Resolve conflicts 2003-10-06 01:55:17 +00:00
su Add FBSDID. Do not dot terminate errx(3) string. 2004-04-04 18:56:53 +00:00
systat Include <sys/proc.h> for the definition of PS_INMEM instead of 2004-04-14 09:01:56 +00:00
tabs mdoc(7) police: markup polishing. 2002-11-26 17:33:37 +00:00
tail Removed check of st_rdev changing in the -F support. st_rdev for regular 2003-08-14 11:02:03 +00:00
talk Handle window resizing better. 2004-04-19 21:37:29 +00:00
tar -U is now implemented. (It's been recognized by bsdtar for a while; 2004-04-29 05:22:13 +00:00
tcopy Change /dev/rsa0 and /dev/rwt0 references to sa0 and wt0. 2003-09-05 15:28:09 +00:00
tee ANSIify function definitions. 2002-09-04 23:29:10 +00:00
telnet Make sure that a "make release" (more accurately the bit that makes 2003-07-24 17:19:15 +00:00
tftp Fix BSS buffer overflow in makeargv(). 2003-10-12 00:27:55 +00:00
time Uses wait4() instead of wait3() when waiting for a child process to exit. 2003-10-17 07:53:30 +00:00
tip Fixed misspellings of 0 as NULL. Fixed some nearby style bugs. 2004-03-14 05:55:16 +00:00
top Changes to allow top to decide whether or not to show multiple threads per 2003-07-17 23:56:40 +00:00
touch ANSIify function definitions. 2002-09-04 23:29:10 +00:00
tput command -> utility. Add section number to .Xr 2003-06-08 14:38:02 +00:00
tr Back out [:upper:] and [:lower:] classes sorting, it is not required 2003-08-05 07:59:46 +00:00
true A function which takes no arguments has an argument list spelled (void) in the 2002-06-20 05:35:40 +00:00
truncate remove __P 2002-03-22 01:42:45 +00:00
truss Add support for decoding Timespec, Timeval, Itimerval, Pollfd, 2004-03-23 12:37:02 +00:00
tset Add section number to .Xr 2003-06-08 13:58:08 +00:00
tsort Removed unused macro definition 2003-09-04 20:05:46 +00:00
tty A space between switch and open-paren. Don't explicitly cast the value 2002-05-29 17:12:30 +00:00
uac Remove (another) now redundant and now conflicting declaration of 2004-01-12 04:05:23 +00:00
ul Add section number to .Xr 2003-06-08 13:58:08 +00:00
uname Make the sysctlbyname stuff look like the 2-level MIB stuff. This 2003-07-01 20:15:28 +00:00
unexpand Fix off-by-one error processing the line after an empty line when the 2002-10-04 16:45:25 +00:00
unifdef Improve expression evaluation debugging output, tidy up the handling of 2003-07-01 15:30:43 +00:00
uniq Mention the environment variables that affect the execution of uniq. 2003-04-12 04:17:14 +00:00
units Add r_earth, r_moon, r_sun, representing the terrestrial, lunar, and 2003-11-05 22:29:48 +00:00
unvis ANSIify function definitions. 2002-09-04 23:29:10 +00:00
usbhidaction Misc fixes brought to light by WARNS=6: 2004-03-09 11:35:43 +00:00
usbhidctl Correct reference to a non existant man page. 2004-01-04 16:34:16 +00:00
users ANSIify function definitions. 2002-09-04 23:29:10 +00:00
uudecode Make GCC 3.3 happy with rcsid[], sccs[], and copyright[]. 2003-05-03 19:44:46 +00:00
uuencode Userland signed char fixes for PPC build. Problems were using a char 2004-01-22 07:23:36 +00:00
uuidgen The uuidgen(1) program is WARNS=6 clean, so flag it as such. 2003-12-07 21:34:56 +00:00
vacation Remove MAINTAINER= lines from individual Makefiles in favor of the 2003-07-07 03:54:04 +00:00
vgrind Fix warning about cgetent() argument. 2003-10-26 05:03:11 +00:00
vi Fixed style of DPADD and LDADD assignments as per style.Makefile(5). 2004-02-05 22:44:25 +00:00
vis ANSIify function definitions. 2002-09-04 23:29:10 +00:00
vmstat Print fork statistics with %u as they are unsigned quantities. 2004-04-23 13:10:29 +00:00
w Include <sys/proc.h> instead of depending on namespace pollution in 2004-04-14 09:34:17 +00:00
wall Remove "sleeper" nonsense. 2003-02-21 08:46:44 +00:00
wc Improve robustness of multibyte character handling (-m option), and 2004-04-09 11:17:29 +00:00
what mdoc(7) police: markup polishing. 2002-11-26 17:33:37 +00:00
whereis Adjust max WARNs for sparc64. 2002-12-30 09:48:40 +00:00
which Handle relative and absolute pathnames (anything with a `/' in it) in the same 2002-06-30 06:02:39 +00:00
who Fix a warning that showed up on 64 bit systems. It was actually a real 2003-10-26 05:05:48 +00:00
whois Back out .SU workaround - people at whois-servers.net set up 2003-06-29 23:56:31 +00:00
window Add FBSDID. Use %ld to printf(3) a long (even if the number is small). 2004-04-04 19:11:01 +00:00
write ANSIify function definitions. 2002-09-04 23:29:10 +00:00
xargs - Use _PATH_TTY and _PATH_DEVNULL macros. 2003-06-13 17:05:41 +00:00
xinstall Improved incorrect usage diagnostics. 2004-03-17 11:06:40 +00:00
xlint style.Makefile(5): 2004-02-23 20:25:27 +00:00
xstr Introduce options definition the standard way. Do not uppercase first 2003-06-09 19:35:56 +00:00
yacc Use getopt instead of hand-rolled argument parsing. Usage remains 2004-03-05 01:52:09 +00:00
yes #include <err.h> to make yes warns clean again. 2002-11-09 21:00:39 +00:00
ypcat Stop gcc warnings 2003-10-26 05:28:01 +00:00
ypmatch Stop gcc warnings 2003-10-26 05:28:01 +00:00
ypwhich Be consistant while reporting error conditions. 2004-04-04 19:17:38 +00:00
Makefile Connect bsdtar to the build. 2004-04-06 17:04:38 +00:00
Makefile.inc Backout -Werror protection. No need to walk all over the upcoming 2002-02-06 18:13:12 +00:00