opnsense-src/sys
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
..
alpha Add several missing ioctl handlers. One needed by Sybase, the others 1998-09-30 01:42:53 +00:00
amd64 Add dpt driver back to GENERIC and adjust a stale comment. 1998-10-03 17:09:00 +00:00
boot Missing newline in heap command display. 1998-10-03 18:27:50 +00:00
cam Fix a printf format warning that shows up when CAMDEBUG is defined. 1998-10-02 21:20:21 +00:00
coda Fixes for lkm: 1998-09-29 20:19:45 +00:00
compat Add several missing ioctl handlers. One needed by Sybase, the others 1998-09-30 01:42:53 +00:00
compile Stop cvs up -P from removing empty compile directories. 1994-08-25 16:20:16 +00:00
conf Add a new CAM debugging mode, CAM_DEBUG_CDB. This causes the kernel to 1998-10-02 21:00:58 +00:00
contrib/softupdates Fix 'noatime' bug that was unrelated to use of noatime. 1998-10-03 19:17:11 +00:00
ddb Update to work with the new elf headers. 1998-08-17 08:06:31 +00:00
dev Removed duplicate case. 1998-10-03 14:43:49 +00:00
fs Fixes for lkm: 1998-09-29 20:19:45 +00:00
geom Update system to new device statistics code. 1998-09-15 08:15:30 +00:00
gnu Quick fix for not being able to sync all the buffers in boot() if 1998-10-03 16:19:28 +00:00
i386 Two new C symbols were added to apm_setup.s but not put into 1998-10-03 17:23:25 +00:00
isa Merge changes from i386/isa/sio.c up to revision 1.215. 1998-09-26 14:47:16 +00:00
isofs/cd9660 Remove the SLICE code. 1998-09-14 19:56:42 +00:00
kern Send a MOD_UNLOAD event before deleting the module. if the MOD_LOAD event 1998-10-03 11:05:45 +00:00
libkern Converted rcsid to $Id$ again. There shouldn't be any rcsids in the kernel. 1998-08-17 19:26:37 +00:00
miscfs Make devfs update the atime timestamp so that 'w' works when using 1998-09-30 20:33:46 +00:00
modules Fixes for lkm: 1998-09-29 20:19:45 +00:00
msdosfs Remove unused variable. 1998-09-13 15:40:31 +00:00
net fix an mbuf leak when using ipfw to filger bridged packets 1998-09-18 20:55:50 +00:00
netatalk Fixed printf format errors. 1998-08-17 01:05:25 +00:00
netatm Two patches from the HARP people: 1998-09-17 09:35:02 +00:00
netinet Dike out some obsolete defines which referenced ih_next and ih_prev from 1998-09-26 14:26:59 +00:00
netipx Yow! Completely change the way socket options are handled, eliminating 1998-08-23 03:07:17 +00:00
netkey Fixed printf format errors. 1998-08-17 01:05:25 +00:00
netnatm This commit fixes various 64bit portability problems required for 1998-06-07 17:13:14 +00:00
netns Make INET a proper option. 1998-01-08 23:42:31 +00:00
nfs In nfs_link(), check for a cross-device mount *before* looking 1998-09-29 23:39:37 +00:00
nfsclient In nfs_link(), check for a cross-device mount *before* looking 1998-09-29 23:39:37 +00:00
nfsserver The code checks each fragment mark to see if it's valid; if the fragment 1998-09-29 22:33:05 +00:00
pc98 Sync with sys/i386/i386/machdep.c revision 1.311. 1998-09-30 13:21:44 +00:00
pccard - Fix a bug where a "power_off_slot' timeout was not cancelled when the 1998-09-24 17:56:31 +00:00
pci Oops, forgot /* */ around Id string 1998-10-01 09:35:48 +00:00
posix4 Set PAGE_SIZE for _SC_PAGESIZE sysconf(). 1998-06-01 21:54:43 +00:00
powerpc Automatically detect which disk was booted and change the root to that disk. 1998-09-26 12:22:53 +00:00
rpc Resolve conflicts. 1997-05-28 04:45:15 +00:00
sys Quick fix for not being able to sync all the buffers in boot() if 1998-10-03 16:19:28 +00:00
tools VOP_STRATEGY grows an (struct vnode *) argument 1998-07-04 20:45:42 +00:00
ufs Fix 'noatime' bug that was unrelated to use of noatime. 1998-10-03 19:17:11 +00:00
vm Fix a bug in which a page index was used where a byte offset was 1998-10-01 20:46:41 +00:00
Makefile Add support for MACHINE=pc98. This leaves a single legacy entry for 1998-09-05 08:27:56 +00:00