Go to file
yamt 3a6eed1f58 pull freebsd's ufs_lookup.c rev.1.53 and 1.54. PR/31873.
> ----------------------------
> revision 1.54
> date: 2001/08/26 01:25:12;  author: iedowse;  state: Exp;  lines: +30 -12
> When compacting directories, ufs_direnter() always trusted DIRSIZ()
> to supply the number of bytes to be bcopy()'d to move an entry. If
> d_ino == 0 however, DIRSIZ() is not guaranteed to return a sensible
> length, so ufs_direnter could end up corrupting a directory during
> compaction. In practice I believe this can only happen after fsck_ffs
> has fixed a previously-corrupted directory.
>
> We now deal with any mid-block unused entries specially to avoid
> using DIRSIZ() or bcopy() on such entries. We also ensure that the
> variables 'dsize' and 'spacefree' contain meaningful values at all
> times. Add a few comments to describe better this intricate piece
> of code.
>
> The special handling of mid-block unused entries makes the dirhash-
> specific bugfix in the previous revision (1.53) now uncecessary,
> so this change removes it.
>
> Reviewed by:  mckusick
> ----------------------------
> revision 1.53
> date: 2001/08/22 01:35:17;  author: iedowse;  state: Exp;  lines: +2 -2
> When compressing directory blocks, the dirhash code didn't check
> that the directory entry was in use before attempting to find it
> in the hash structures to change its offset. Normally, unused
> entries do not need to be moved, but fsck can leave behind some
> unused entries that do. A dirhash sanity panic resulted when the
> entry to be moved was not found. Add a check that stops entries
> with d_ino == 0 from being passed to ufsdirhash_move().
2006-01-14 09:09:02 +00:00
bin PR/23688: don't say we're printing in 1k-blocks if -h was also specified. 2006-01-13 14:07:57 +00:00
common/lib/libc fix the mc68010 case. 2006-01-13 16:07:59 +00:00
crypto make software behave as the documentation advertise for INTERNAL_NETMASK4. 2006-01-07 23:51:50 +00:00
dist bring in changes from 2.4.4b1; we will import 2.4.4 once it is released. 2005-12-31 08:58:50 +00:00
distrib Add hpcarm/boot(8) manual page. 2006-01-13 23:32:26 +00:00
doc Bump date for syspkgs. 2006-01-12 21:22:30 +00:00
etc copied from etc.amiga/ 2006-01-11 16:06:36 +00:00
games Simplify error checking. 2005-11-19 18:01:42 +00:00
gnu Add platforms not yet in groff distribution. 2006-01-11 13:37:53 +00:00
include Fix comment indentation after __P was deleted. 2006-01-11 22:50:35 +00:00
lib Sync net.{inet,inet6}. 2006-01-13 21:09:55 +00:00
libexec Bring across a change from FreeBSD from back in 1998: 2006-01-12 22:40:17 +00:00
regress Moved to interface/interface.c 2005-12-25 22:24:57 +00:00
rescue lmcctl has been replaced by lmcconfig. 2005-12-06 14:02:58 +00:00
sbin oops - this should not have been commited. remove sugid_coredump line. 2006-01-13 21:10:34 +00:00
share TLB is already in acronyms.comp. 2006-01-14 00:00:03 +00:00
sys pull freebsd's ufs_lookup.c rev.1.53 and 1.54. PR/31873. 2006-01-14 09:09:02 +00:00
tools Add a tweak for ews4800mips/include/disklabel.h, 2005-12-29 15:35:19 +00:00
usr.bin warnx appends a newline, so the string does not have to contain one. 2006-01-13 20:30:40 +00:00
usr.sbin Replace NetBSD with Nx. 2006-01-13 17:45:36 +00:00
x11 Add support for Xews4800mips under src/x11. 2005-12-29 15:52:20 +00:00
build.sh Use separate invocations of make for cleandir dependall and install of 2006-01-08 11:03:40 +00:00
BUILDING Bump date for syspkgs. 2006-01-12 21:22:30 +00:00
Makefile Add a new "syspkgs" target, which simply chains to the "syspkgs" target 2006-01-04 15:30:02 +00:00
Makefile.inc
UPDATING note about conf/std. 2005-10-03 04:45:52 +00:00