freebsd kernel with SKQ
Go to file
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
bin Added missing #include <string.h> 1998-10-03 16:29:59 +00:00
contrib Fix 'noatime' bug that was unrelated to use of noatime. 1998-10-03 19:17:11 +00:00
crypto Remove redundant decl. of time(). Causes problems on alpha 1998-09-01 15:17:28 +00:00
etc Show how to create a secure (ssh) VPN 1998-10-03 13:12:14 +00:00
games Back out the last two hacks. I've added games to the (correct) build 1998-09-21 09:01:53 +00:00
gnu Don't build the info pages for the old assembler. Instead, build 1998-10-03 03:59:47 +00:00
include back out h2ph from here, Bruce found another proper place 1998-10-02 13:00:58 +00:00
kerberos5 While I am no longer making a shared library, nuke the old one to prevent 1998-08-30 13:08:54 +00:00
kerberosIV Add -lcrypt. 1998-09-05 00:34:36 +00:00
lib program written under FreeBSD -> programs written under FreeBSD 1998-10-03 16:17:30 +00:00
libexec Added double quotes around CHMOD description to prevent garbled output. 1998-09-29 22:02:06 +00:00
lkm Fixes for lkm: 1998-09-29 20:19:45 +00:00
release Whoops, correct brain-o. 1998-10-03 14:16:06 +00:00
sbin Add the -c flag in to the usage summaries in the man page and the usage() 1998-10-03 19:15:53 +00:00
secure Remove useless `BINOWN=root' now that it is the default. 1998-09-19 22:42:14 +00:00
share s/Lesp/Leap/ 1998-10-02 17:08:35 +00:00
sys Fix 'noatime' bug that was unrelated to use of noatime. 1998-10-03 19:17:11 +00:00
tools Prevent ldconfig from choking by creating any missing directories. 1998-09-16 17:42:53 +00:00
usr.bin Make it compile -Wall cleanly. 1998-10-03 18:02:03 +00:00
usr.sbin Fix CFLAGS: s/ETHER_NTOA/ETHER_NTOHOST/ 1998-10-02 21:56:30 +00:00
COPYRIGHT Add Id keyword 1998-09-13 23:11:13 +00:00
Makefile Add back a few useful targets lost in the reshuffle. 1998-09-29 22:03:13 +00:00
Makefile.inc0 Add back a few useful targets lost in the reshuffle. 1998-09-29 22:03:13 +00:00
Makefile.inc1 Backout my last commit. 1998-09-26 01:30:36 +00:00
Makefile.upgrade Change 3.0-CURRENT to 3.0-BETA when deciding if the installed system 1998-09-23 01:46:25 +00:00
README Correct the facts. The kerberosIV/ directory is not export restricted. 1998-09-13 09:38:34 +00:00

This is the top level of the FreeBSD source directory.  This file
was last revised on: $Id: README,v 1.12 1998/06/30 08:08:05 jkh Exp $

For copyright information, please see the file COPYRIGHT in this
directory (additional copyright information also exists for some
sources in this tree - please see the specific source directories for
more information).

The Makefile in this directory supports a number of targets for
building components (or all) of the FreeBSD source tree, the most
commonly used one being ``world'', which rebuilds and installs
everything in the FreeBSD system from the source tree except the
kernel and the contents of /etc.  Please see the top of the Makefile
in this directory for more information on the standard build targets
and compile-time flags.

Building a kernel with config(8) is a somewhat more involved process,
documentation for which can be found at:
   http://www.freebsd.org/handbook/kernelconfig.html
And in the config(8) man page.

The sample kernel configuration files reside in the sys/i386/conf
sub-directory (assuming that you've installed the kernel sources), the
file named GENERIC being the one used to build your initial installation
kernel.  The file LINT contains entries for all possible devices, not
just those commonly used, and is meant more as a general reference
than an actual kernel configuration file (a kernel built from it
wouldn't even run).


Source Roadmap:
---------------
bin		System/User commands.

contrib		Packages contributed by 3rd parties.

crypto		Export controlled stuff (see crypto/README).

etc		Template files for /etc

games		Amusements.

gnu		Various commands and libraries under the GNU Public License.
		Please see gnu/COPYING* for more information.

include		System include files.

kerberosIV	Kerberos package.

lib		System libraries.

libexec		System daemons.

lkm		Loadable Kernel Modules.

release		Release building Makefile & associated tools.

sbin		System commands.

secure		DES and DES-related utilities - NOT FOR EXPORT!

share		Shared resources.

sys		Kernel sources.

tools		Utilities for regression testing and miscellaneous tasks.

usr.bin		User commands.

usr.sbin	System administration commands.


For information on synchronizing your source tree with one or more of
the FreeBSD Project's development branches, please see:

  http://www.freebsd.org/handbook/synching.html