freebsd-dev/contrib
Nate Williams ed8d80c2de Fix 'noatime' bug that was unrelated to use of noatime.
The problem is caused when a directory block is compacted.  When this
occurs, softdep_change_directoryentry_offset() is called to relocate each
directory entry and adjust its matching diradd structure, if any, to match
the new location of the entry.  The bug is that while
softdep_change_directoryentry_offset() correctly adjusts the offsets of
the diradd structures on the pd_diraddhd[] lists (which are not yet ready
to be committed to disk), it fails to adjust the offsets of the diradd
structures on the pd_pendinghd list (which are ready to be committed to
disk).  This causes the dependency structures to be inconsistent with
the buf contents.  Now, if the compaction has moved a directory entry to
the same offset as one of the diradd structures on the pd_pendinghd list
*and* a syscall is done that tries to remove this directory entry before
this directory block has been written to disk (which would empty
pd_pendinghd), a sanity check in newdirrem() will call panic() when it
notices that the inode number in the entry that it is to be removed doesn't
match the inode number in the diradd structure with that offset of that
entry.

Reviewed by:	Kirk McKusick <mckusick@McKusick.COM>
Submitted by:	Don Lewis <Don.Lewis@tsc.tdk.com>
1998-10-03 19:17:11 +00:00
..
amd Support our "nfsv2" option. (originally added to old amd/amd/host_opts.c 1998-09-14 08:20:37 +00:00
awk Typo fix. 1998-09-12 16:55:54 +00:00
bc s/the the/to the/ 1998-09-17 08:56:03 +00:00
bind Typo fixes. 1998-09-12 16:39:32 +00:00
binutils Fix segmentation violation that sometimes occurred when warning 1998-09-19 22:31:40 +00:00
bison Fixed (1970's/old-GNU style) a missing declaration of a function that 1998-06-30 19:19:10 +00:00
cpio Fixed printf format errors. 1998-06-30 19:53:09 +00:00
cvs Use readlink correctly 1998-09-09 17:05:54 +00:00
diff Some FreeBSD files to add... 1997-10-30 19:35:17 +00:00
gcc Add alpha-*=freebsd* to configure 1998-09-09 17:07:36 +00:00
gdb Rewrite the bits of the solib code to handle implentations where dlopen 1998-09-25 14:39:52 +00:00
global Typo: Tile -> Title 1998-05-30 22:09:44 +00:00
gperf NetBSD has sys_errlist in errno.h, not stdio.h like FreeBSD. 1998-01-09 20:02:20 +00:00
groff Add a .St -p1003.1g. 1998-09-12 21:31:21 +00:00
ipfilter Merge 3.2.3 -> 3.2.7 changes into mainline. 1998-06-20 18:43:25 +00:00
libg++ partially revert rev 1.2 spammage. This file is broken as shipped and 1998-04-30 17:31:22 +00:00
libgmp Our default rules tend to shove asm code through cpp, so comments 1998-03-08 21:09:04 +00:00
libpcap Merge libpcap version 0.4 1998-09-15 19:31:43 +00:00
libreadline Hopefully fix behaviour of libreadline when prompt is longer than 1998-05-24 13:06:38 +00:00
nvi Fixed printf format errors. 1998-08-02 15:18:45 +00:00
opie sprintf -> snprintf 1998-09-09 17:08:46 +00:00
patch Remove library funcs we already have 1998-01-04 20:45:41 +00:00
perl5 Fix default location of *.ph file install. 1998-10-01 19:17:58 +00:00
pnpinfo Support PnP compatibility IDs. This allow e.g. the ed driver to pick 1998-09-13 22:15:44 +00:00
sendmail I obviously cannot read. I misread the ifdef in the Makefile - DONT_FSYNC 1998-08-04 13:56:32 +00:00
sys/softupdates Fix 'noatime' bug that was unrelated to use of noatime. 1998-10-03 19:17:11 +00:00
tcpdump Merge tcpdump 3.4 1998-09-15 19:46:59 +00:00
telnet Remove redundant decl. of time(). Causes problems on alpha 1998-09-01 15:17:28 +00:00
texinfo Fixed printf format errors. 1998-06-30 20:14:13 +00:00
top Add missing .TP in "INTERACTIVE MODE" section. 1998-08-12 10:38:37 +00:00
traceroute Fix an alignment problem on alpha by doing a bytewise copy. 1998-06-06 23:33:28 +00:00